python - 只有最后一项被附加到 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
解决方案
你不能做得比digits = list(str(num))
. 实际上,由于input
返回的是字符串,所以甚至不需要转换为数字:
num = input("Enter a number: ")
digits = list(num)
(您仍然可能希望确保输入的内容确实是数字,而不是随机字符串。)
推荐阅读
- c++ - 为什么记忆的解决方案比正常的递归解决方案慢?
- javascript - 通过 SSH 使用 exec 的异步等待功能
- python - 如何使用 BLEU 将假设与参考相匹配?
- react-native - React Native Flatlist 仅更新最后一项
- reporting-services - SSRS manager VS Report builder中的共享数据源
- linq - 如何使两个联合的 LINQ 语句异步?
- regex - 正则表达式匹配并分组到第一个句点和最后一个斜杠
- python - 从网站/selenium /python 中获取列表
- android - Android.OS.FileUriExposedException:通过 ClipData.Item.getUri()' 暴露在应用程序之外
- node.js - 使用 Visual Studio 代码和 node.js 的不和谐机器人出现错误