擅长:python、mysql、java
<p>要准确地修复您所拥有的内容,请执行以下操作:</p>
<pre><code>output = list()
cache = list()
cache = input("Please enter the number: ")
for val in str(cache): # note you do not need to cast to a str in python 3.x
output.append(int(val))
print(output)
</code></pre>
<p>您可以简单地将整数输入转换为字符串,然后迭代字符串中的每个字符。Python非常酷,因为它可以让您用传统的<code>for</code>循环结构迭代任何内容。然后,在遍历四位整数时,将其各个部分追加到列表中(如果需要,将其转换回整数)。你知道吗</p>
<p>原始代码所做的是将整个整数(由<code>cache</code>定义)附加到新列表<code>output</code>中四次。你看的不是整数的每一部分,而是整数的整体。你知道吗</p>
<p>注意,在从input赋值之前不需要预定义cache,可以使用<code>[]</code>而不是调用<code>list()</code>函数来定义列表。此外,应该使用<code>raw_input</code>而不是<code>input</code>,这样在处理之前就不需要将读入值强制转换为字符串。具体如下:</p>
<pre><code>output = []
cache = raw_input("Please enter the number: ")
for val in cache:
output.append(int(val))
print(output)
</code></pre>
<p>最后,如果您不关心将读入的数字值保留为整数(也就是说,将它们作为字符串是可以的),您可以简单地调用缓存上的<code>list()</code>函数:</p>
<pre><code>>> Enter a 4 digit number:1234
>> list(cache)
>> ['1', '2', '3', '4']
</code></pre>
<p>如果这对你有用,请告诉我。你知道吗</p>