擅长:python、mysql、java
<p>上面的语句递归地调用自身。循环的新实例不能访问Repeat的调用值,而是有自己的Repeat本地副本。另外,还有if<code>Repeat > 2</code>。正如所写的,这意味着它不会得到你的其他打印语句,直到他们输入“hello”三次,使计数器达到3。你可能想把它变成<code>Repeat >= 2</code>。你知道吗</p>
<p>您需要的是一个while循环,用于跟踪输入是否重复。在现实生活中,你可能需要一些条件来告诉while循环何时结束,但是你在这里没有呜呜声,所以你可以使用<code>while True:</code>来永远循环。你知道吗</p>
<p>最后,您的代码只检查他们是否多次输入“hello”。你可以通过跟踪他们已经说过的话来让它更一般化,并且在这个过程中不需要有一个计数器。对于我尚未测试的快速草率版本,它可能会循环如下:</p>
<pre><code>alreadySaid = set() #sets are effecient and only store a specific element once
while True: #probably want an actual break condition here, but to do it forever this works
response = raw_input("enter something : ")
if response in alreadySaid:
print 'You already said {}'.format(response)
else:
print response
alreadySaid.add(response)
</code></pre>