Как работает присваивание типа данных в Python?

На ввод дается 6 цифр Надо найти сумму первых трех

x1 = list(map(int, x[:3]))
print(sum(x1))

Это правильное решение

Мое решение выглядит так:

x = list(input()) 
x1 = x[:3]
print(sum(x1))

Почему нельзя сделать так? Если я вызову команду вывода на экран x1, он выдаст список Если я вызову команду вывода типа переменной print(type(x1)), он покажет list Получается это обыкновенный список, почему тогда я не могу найти сумму его значений и вывести ее? Консоль ругается на неверный тип данных, говорит нужен int или str:

unsupported operand type(s) for +: 'int' and 'str'

Ответы (1 шт):

Автор решения: Andrey

Функция input() возвращает строку, а не список целых чисел. Чтобы исправить это, вам нужно преобразовать каждый символ строки в целое число.

x = list(map(int, input().split()))  # Преобразуем ввод в список целых чисел
x1 = x[:3]
print(sum(x1))

Используем map(int, input().split()), чтобы разделить ввод по пробелам, преобразовать каждый элемент в целое число и затем создать список из этих целых чисел. Теперь код должен правильно суммировать первые три элемента списка x.

→ Ссылка