-2
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,FizzBu​​zz,16,17,Fizz,19, Buzz
但侧身和用逗号。

4

2 回答 2

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))

于 2015-03-13T22:04:58.553 回答
0

考虑制作一个列表并用逗号连接元素。这里有一些很好的例子。

例如:

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函数无论如何都返回字符串。

于 2015-09-09T00:02:51.163 回答