首页 > 解决方案 > 只有最后一项被附加到 while 循环中的列表(Python)

问题描述

我正在尝试创建一个程序,该程序使用while循环将输入数字的每个数字放入列表中。但是,它仅将数字的最后一位附加到列表中。

代码 -

num = int(input("Enter a number: "))
numstr = str(num)
numlen = len(numstr)
x = 0

while x < numlen:
    digits = []
    a = numstr[x]
    digits.append(a)
    x = x + 1

print(digits)

因此,如果我输入数字,则列表的长度372仅为.['2']1

标签: pythonlistwhile-loop

解决方案


你不能做得比digits = list(str(num)). 实际上,由于input返回的是字符串,所以甚至不需要转换为数字:

num = input("Enter a number: ")
digits = list(num)

(您仍然可能希望确保输入的内容确实是数字,而不是随机字符串。)


推荐阅读