擅长:python、mysql、java
<p>将项目收集到列表中。然后在函数结束时打印列表。您可以使用<code>', '.join(...)</code>将这些项与中间的逗号连接起来。</p>
<pre><code>def fizzbuzz(n):
result = []
for x in range(1, n+1):
if x % 3 == 0 and x % 5 == 0:
result.append("fizz buzz")
elif x % 3 == 0:
result.append('fizz')
elif x % 5 == 0:
result.append('buzz')
else:
result.append(str(x))
return result
def main():
print(', '.join(fizzbuzz(20)))
main()
</code></pre>
<hr/>
<p>很高兴知道<code>print(..., end=', ')</code>会在结尾处用逗号和空格“水平”打印,这几乎可以解决您的问题,除了最后一项也会在结尾处有逗号和空格,这不是您想要的。</p>
<hr/>
<p>通常,(1)将打印与计算分离,(2)使函数可重用是个好主意。你经常想计算比打印更频繁。以后您可能希望在打印之前将计算传递给其他函数。所以即时打印的功能就没那么有用了。所以我建议从<code>fizzbuzz</code>中取出print语句。</p>
<p>你可以返回字符串<code>', '.join(result)</code>,但这有多有用呢?列表<code>result</code>(在将来)对于进一步处理可能更有用,因此我选择返回<code>result</code>。我留给<code>main</code>函数的打印。</p>