擅长:python、mysql、java
<p>代码中有几个令人困惑的地方。你的最终目标到底是什么?要数组中单个数字的所有位数吗?或者您希望用户输入多个数字?</p>
<p>即使是那些让我困惑的事情,我仍然能看到一些错误:</p>
<pre><code>a[i].append=iNum%10
</code></pre>
<p>这注定会从一开始就失败:由于<code>a</code>已声明为空(<code>a = []</code>),因此没有<code>a[i]</code>元素。您可以在诸如IDLE:</p>
<pre><code>>>> 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
</code></pre>
<p>您可能打算调用列表中的<code>append</code>方法。但是,要调用该方法,不使用等号,而是使用括号。像这样:</p>
<pre><code>a.append(iNum % 10)
</code></pre>
<p>另一个需要注意的是,您对<code>range</code>的调用有点多余。由于以1为步从0迭代到某个数字非常常见,因此这是默认值。</p>
<pre><code>range(iLen)
</code></pre>
<p>总而言之,我们的结论是:</p>
<pre><code>a=[]
for i in range(iLen):
a.append(iNum%10)
iNum=iNum//10
</code></pre>
<p>如果要将单个数字的位数放入列表,只需对字符串使用<code>list</code>函数,如下所示:</p>
<pre><code>>>> list('123')
['1', '2', '3']
</code></pre>
<p>在Python中,可以使用<code>for</code>循环遍历字符串的字符。因此,如果要将每个字符转换为整数,甚至可以执行以下操作:</p>
<pre><code>a = []
for digit in str(iNum):
a.append(int(digit))
</code></pre>