您的代码有几个令人困惑的地方。你的最终目标到底是什么?您想要数组中单个数字的所有数字吗?或者您希望用户输入多个数字?
即使有那些让我感到困惑的事情,我仍然可以看到一些事情是错误的:
a[i].append=iNum%10
这注定要从一开始就失败:由于a
已被声明为空(a = []
),因此没有a[i]
元素。您可以在 IDLE 等交互式环境中试用此代码:
>>> a = []
>>> a[0] = 'hello'
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
a[0] = 'hello'
IndexError: list assignment index out of range
您可能打算append
在列表上调用该方法。但是,要调用该方法,不要使用等号,而是使用括号。像这样:
a.append(iNum % 10)
另一件需要注意的事情是你的电话range
有点多余。由于以 1 为步长从 0 迭代到某个数字非常常见,因此这是默认设置。
range(iLen)
综上所述,我们最终得出以下结论:
a=[]
for i in range(iLen):
a.append(iNum%10)
iNum=iNum//10
如果要将单个数字的数字放入列表中,只需list
在字符串上使用该函数,如下所示:
>>> list('123')
['1', '2', '3']
在 Python 中,您可以使用循环遍历字符串的字符for
。因此,如果要将每个字符转换为整数,甚至可以执行以下操作:
a = []
for digit in str(iNum):
a.append(int(digit))