Сумма списка в зависимости от пользовательского ввода
Как вывести сумму списка в Python, если количество чисел списка равно числу n из пользовательского ввода? Я написала код но выдает ошибку. Подскажите, как решить задачу если ввод должен быть:
5
4 1 8 1 1
А вывод:
15
Вот мой код, который выдает ошибку:
n=int(input())
m=[]
for i in range(n):
m.append(int(input()))
s=0
for i in range(n):
s=s+m[i]
print(s)
Ошибка:
Traceback (most recent call last):
File "/workspace/source.py", line 4, in <module>
m.append(int(input()))
^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '4 1 8 1 1'
Ответы (1 шт):
Автор решения: Vladyslav
→ Ссылка
Чтобы избежать этой проблемы, можно пробовать использовать input().split() для разделения введенных значений, а затем преобразовывать их в int с помощью map.
n = int(input())
arr = map(int, input().split())
s = sum(arr)
print(s)
- input().split() сначала считывает строку введенную с клавиатуры, затем разбивает ее на подстроки с помощью пробела (по умолчанию).
- map - это встроенная функция в Python, которая применяет указанную функцию к каждому элементу итерируемого объекта
- sum - это встроенная функция Python, которая принимает итерируемый объект (например, список) в качестве аргумента и возвращает сумму всех элементов