Как работает присваивание типа данных в 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 шт):
Функция input() возвращает строку, а не список целых чисел. Чтобы исправить это, вам нужно преобразовать каждый символ строки в целое число.
x = list(map(int, input().split())) # Преобразуем ввод в список целых чисел
x1 = x[:3]
print(sum(x1))
Используем map(int, input().split()), чтобы разделить ввод по пробелам, преобразовать каждый элемент в целое число и затем создать список из этих целых чисел. Теперь код должен правильно суммировать первые три элемента списка x.