回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>下面取自<a href="https://docs.python.org/3/tutorial/controlflow.html#defining-functions" rel="nofollow noreferrer">chapter 4.6 in The Python Tutorial</a>的函数<code>fib()</code>在定义的末尾包含一行,该行包含<code>print()</code>,没有明显的原因,因为没有该行的同一函数<code>fib0()</code>产生相同的输出。那么,在函数定义中包含这一点的原因是什么呢?fib()和fib0()之间的哪个函数更有效</p>
<pre><code># -*- coding: utf-8 -*-
from __future__ import print_function
def fib(n):
"""print a fibonacci series up to n"""
a, b = 0, 1
while a < n:
print(a, end=', ')
a, b = b, a+b
print()
def fib0(n):
"""print a fibonacci series up to n"""
a, b = 0, 1
while a < n:
print(a, end=', ')
a, b = b, a+b
fib(2000)
fib0(2000)
</code></pre>
<p>输出:</p>
<blockquote>
<p>0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,<br/>
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,</p>
</blockquote>