我刚刚开始学习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))
发布于 2016-06-25 17:04:53
def fizzbuzz(numbers, fizz, buzz):
x = ['Fizzbuzz' if x % fizz == 0 and x % buzz == 0 else 'Fizz' if x % fizz == 0 else 'Buzz' if x % buzz == 0 else x for x in numbers]
return x
发布于 2014-08-04 12:35:57
稍微优雅一点
def fizzbuzz(n):
for x in range(1,n+1):
if not x % 15:
yield 'fizz buzz'
elif not x % 3:
yield 'fizz'
elif not x % 5:
yield 'buzz'
else:
yield x
if __name__ == "__main__":
print ','.join(fizzbuzz(20))
发布于 2016-09-10 13:16:41
我是一个编程新手,所以一些我不理解的答案,或者它似乎不能直接应用于我的问题。这个答案包含了Fizz_Buzz作为变量,x的范围由用户决定。我查看了上面的解决方案,并得出了以下结论:
def Fizz_Buzz(x):
for x in range (0,x):
if x % 3 == 0 and x % 5 == 0:
print('FizzBuzz')
elif x % 3 == 0:
print('Fizz')
elif x % 5 == 0:
print ('Buzz')
else:
print (x)
https://stackoverflow.com/questions/18427233
复制相似问题