Ваш код работает, но не для конкретного ввода, который дает центр практики. Сделайте эту модификацию:
nums = [int(x) for x in input("Enter numbers: ").split()]
print("The sum of a and b is", sum(nums))
Кстати, sum
- встроенная функция, поэтому вам не нужно писать ее самостоятельно. Единственная строка, которая действительно изменилась, это:
nums = [int(x) for x in input("Enter numbers: ").split()]
nums
будет список чисел, как следует из названия. Следующая часть - это понимание списка. input("Enter numbers: ").split()
примет ввод и разделит его на любой пробел. Например, 'hello world'
будет преобразован в список с ['hello', 'world']
. В этом случае '1 1'
будет преобразован в список с ['1', '1']
. Затем, с пониманием списка, вы превращаете каждый элемент в целое число (['1', '1']
-> [1, 1]
). Затем вы передаете этот список в sum
. Кроме того, это делает то же самое, что и понимание списка:
nums = list(map(int, input("Enter numbers: ").split()))
Неважно, какой вы выберете. Если вы хотите получить настоящую фантазию, вы можете сделать все это в одной строке:
print("The sum of a and b is", sum(map(int, input("Enter numbers: ").split())))