试图将fizzbuzz变成python 3中的函数

use*_*061 2 python fizzbuzz python-3.x

我刚开始学习python作为我的第一语言,虽然我为fizzbuzz制定了代码,但我不能为我的生活做下面的项目.我也希望它水平打印而不是垂直打印.任何帮助都会很棒(头脑旋转).创建一个执行此操作的函数.例如

fizzbuzz(20) 
Run Code Online (Sandbox Code Playgroud)

会打印 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))
Run Code Online (Sandbox Code Playgroud)

Man*_*ert 6

更短的时间:

for n in range(100):
    print "Fizz"*(not n % 3) + "Buzz"*(not n % 5) or n
Run Code Online (Sandbox Code Playgroud)

或者,如果你想给面试官留下深刻印象,

for n in range(100):
    print 'FizzBuzz'[n%-3&4:12&8-(n%-5&4)] or n
Run Code Online (Sandbox Code Playgroud)