Я учу себя Python и сталкиваюсь со странной проблемой. То, что я пытаюсь сделать, это передать список функции, и заставить функцию возвращать список, где элементы являются суммой чисел вокруг нее, но то, что я думал, сработало, дало некоторые странные результаты, поэтому я сделал отладочную версию код, который все еще демонстрирует поведение, которое выглядит следующим образом:
Когда я создаю целочисленный массив и передаю его функции, которая затем использует цикл for для печати отдельных значений списка, числа, следующие за первым в каждом int, усекаются.
Например, следующий вход и выход:
Please enter a number: 101
Please enter a number: 202
Please enter a number: 303
Please enter a number: .
1
2
3
Это происходит независимо от ввода, если его 10, 101 или 13453 - то же самое происходит.
Я знаю, что, вероятно, упускаю что-то простое, но ради меня, никакое прибегание к поиску в Google не дает мне решения этой проблемы. Ниже приведен код, который я использую для выполнения этого. Интересно отметить: при печати всего списка вне цикла for в любой точке он возвращает полный и правильный список (то есть ['101', '202', '303'])
Спасибо!
temp = list()
def sum(list):
print list
for i in range(1, len(list)+1):
print i
return temp
L = list()
while True:
input = raw_input("Please enter a number: ");
if input.strip() == ".":
break
L.append(input);
print L
L2 = sum(L)
print L2