<p>就在你面前:</p>
<pre><code>add1 = 18
add = 9
count = 9
numbers = [18]
</code></pre>
<p>你处在一个没有输出的无限循环中。你只需要<em>一次</em>。之后,<strong>i</strong>遍历值1、2和3。每次通过<strong>for</strong>循环,所有三个<strong>if</strong>条件都是<strong>False</strong>。如果没有更改,则退出<strong>for</strong>循环,然后返回<strong>while</strong>的顶部。在这里,您将<strong>数字</strong>设置回['9'],并永远循环。你知道吗</p>
<p>我建议你学习两种技能:</p>
<ol>
<li>基本调试:学习单步调试,查看变量值。或者,学习在纸上追踪你的逻辑,并坚持有意义的<strong>打印<strong>语句。(我的版本在这个答案的底部。)</li>
<li>增量编程:写几行代码并让它们工作。<em>在</em>你让他们<em>工作</em>之后(用各种输入值和打印的结果进行测试),继续写一些。在本例中,您编写了一大块代码,然后在大约50行中看不到错误。如果以增量方式编写代码,通常可以将问题隔离到最近的3-5行代码中。你知道吗</li>
</ol>
<hr/>
<pre><code>while True:
# sleep (0.1)
numbers = list(str(count))
print "Top of while; numbers=", numbers
for i in limitlist:
print "Top of for; i =", i, "\tadd =", add, "\tcount =", count, "\tadll =", add1
if (i > 0) & (add < count):
add = sum(Decimal(i) for i in numbers)
lastnumber = int(numbers[-1])
add1 = lastnumber+int(add)
numbers.reverse()
numbers.pop()
numbers.append(add1)
print "add1\t", add1
print "add\t", add
print "count\t", count
print "numbers", numbers
if (add1 == count):
print"________________________________"
print add1
print count
elif (i > 0) & (add > count):
count += 1
print "increment count:", count
break
</code></pre>