Python截断整数数组中的数字

Suk*_*uki 0 python function list

我正在教自己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
Run Code Online (Sandbox Code Playgroud)

无论输入是否为10,101或13453,都会发生这种情况 - 发生相同的行为.

我知道我可能错过了一些简单的东西,但是为了我,没有任何谷歌搜索让我解决了这个问题.下面是我用来执行此操作的代码.有趣的是:当在任何点打印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
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 5

循环

for i in range(1, len(my_list)+1):
    print i
Run Code Online (Sandbox Code Playgroud)

迭代从1开始的数字len(my_list),而不是列表中的项目.要做到后者,请使用

for x in my_list:
    print x
Run Code Online (Sandbox Code Playgroud)

(我已经重命名listmy_list你省去了另一个头痛.)