擅长:python、mysql、java
<p>这可能是因为该练习认为您不必通过一次附加一个元素来构建元组,事实上,您可以通过一点隐式循环来完成这一切:</p>
<pre><code>def get_some_input():
return input("Enter a number: ")
def main():
T = tuple(iter(get_some_input, 0))
for i in T:
print i
</code></pre>
<p>注意我们没有写信</p>
<pre><code>T = tuple(iter(get_some_input(), 0))
# ^^
</code></pre>
<p>我们要将<code>get_some_input</code>函数传递给<code>iter</code>,而不是调用它的结果。<code>iter</code>将为我们重复调用函数,直到它得到<code>0</code>。你知道吗</p>
<p>我们还可以写:</p>
<pre><code>def main():
T = iter(get_some_input, 0)
for i in T:
print i
</code></pre>
<p>没有<code>tuple()</code>。不同的是,在启动for循环之前,我们不会消耗所有的<code>iter(...)</code>。你知道吗</p>