我刚刚开始学习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))
将项目收集到列表中。然后在函数结束时打印列表。您可以使用
', '.join(...)
将这些项与中间的逗号连接起来。很高兴知道
print(..., end=', ')
会在结尾处用逗号和空格“水平”打印,这几乎可以解决您的问题,除了最后一项也会在结尾处有逗号和空格,这不是您想要的。通常,(1)将打印与计算分离,(2)使函数可重用是个好主意。你经常想计算比打印更频繁。以后您可能希望在打印之前将计算传递给其他函数。所以即时打印的功能就没那么有用了。所以我建议从
fizzbuzz
中取出print语句。你可以返回字符串
', '.join(result)
,但这有多有用呢?列表result
(在将来)对于进一步处理可能更有用,因此我选择返回result
。我留给main
函数的打印。稍微优雅一点
更短:
或者,如果你想给面试官留下好印象
相关问题 更多 >
编程相关推荐