我才刚刚开始学习 python 作为我的第一语言,虽然我编写了 fizzbuzz 的代码,但我终其一生都无法让它完成以下项目。我还希望它水平打印而不是垂直打印。任何帮助都会很棒(令人头晕目眩)。创建一个执行此操作的函数。例如
fizzbuzz(20)
会打印 1,2,fizz,4,buzz,fizz,7,8,fizz,buzz,11,fizz,13,14,fizzbuzz,16,17,fizz,19,buzz
def fizzbuzz(n):
for x in range (101):
if x%3==0 and x%5==0:
print("fizz buzz")
elif x%3==0:
print('fizz')
elif x%5==0:
print('buzz')
else:
print (x)
def main():
print(fizzbuzz(20))
原文由 user2715061 发布,翻译遵循 CC BY-SA 4.0 许可协议
将项目收集到列表中。然后在函数末尾打印列表。您可以使用
', '.join(...)
将项目与逗号连接在一起。也很高兴知道
print(..., end=', ')
会在末尾“水平”打印逗号和空格,这几乎可以解决您的问题,除了最后一项在末尾也会有逗号和空格,这不是你想要的。通常最好 (1) 将打印与计算分开,(2) 使函数可重用。您通常希望计算比打印更频繁。将来您可能希望在打印之前将计算传递给其他一些函数。因此,立即打印的功能没有那么有用。所以我建议从
fizzbuzz
中取出打印语句。您可以返回字符串
', '.join(result)
,但这有多大用处?列表result
可能(将来)对进一步处理更有用,所以我选择返回result
。我为main
函数留下的打印。