Сумма списка в зависимости от пользовательского ввода

Как вывести сумму списка в 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, которая принимает итерируемый объект (например, список) в качестве аргумента и возвращает сумму всех элементов
→ Ссылка