def fizz_buzz(i):
if i % 15 == 0:
return ("FizzBuzz")
elif i % 5 == 0:
return ("Buzz")
elif i % 3 == 0:
return ("Fizz")
else:
return (i)
for i in range(1, 21):
print(fizz_buzz(i))
在哪里以及如何使用逗号执行新的行命令?
尝试得到这样的输出:1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz,16,17,Fizz,19,Buzz
但侧身和逗号。
答案 0 :(得分:0)
将end=','
传递给print()
def fizz_buzz(i):
if i % 15 == 0:
return ("FizzBuzz")
elif i % 5 == 0:
return ("Buzz")
elif i % 3 == 0:
return ("Fizz")
else:
return (i)
for i in range(1, 21):
print(fizz_buzz(i), end=',')
# prints
1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz,16,17,Fizz,19,Buzz,
如果您不想使用尾随逗号,请将范围结束为20,然后按print(fizz_buzz(20))
答案 1 :(得分:0)
考虑制作一份清单&用逗号连接元素。有一些很好的例子here。
例如:
def fizz_buzz(i):
# your code
my_list = []
for i in range(1,21):
my_list.append( str(fizz_buzz(i)) )
print ",".join(my_list)
有更优雅的方法可以做到这一点 - 使用生成器& c,就像在链接的答案中一样 - 但是这个简单的代码可以做你想要的。请注意,join()
方法仅接受字符串,因此str()
中的list.append()
;或者,您可以确保fizz_buzz
函数返回字符串,无论如何。