如何使用输入值在 Python 3 中编写 fizzbuzz 函数?
How do I write the fizzbuzz function in Python 3 with an input value?
我正在编写一个 fizzbuzz 函数,我想做的是输入值,return 它作为 fizz、buzz 或 fizzbuzz。但是,我的代码有问题。每当我 运行 这个,我只得到第一个条件,它不会继续。以下是您的代码:
a=int(input('Enter a number: '))
def fizzbuzz(a):
if a % 3 == 0:
return ('Fizz')
elif a % 5 == 0:
return ( 'Buzz' )
elif a % 15 == 0:
return ('Fizzbuzz')
else:
return a
print(fizzbuzz(a))
确保以正确的顺序检查您的条件。
Fizzbuzz 数也是 Fizz(可被 3 整除)和 Buzz(可被 5 整除),只是为了清楚起见。
在您编写的代码中,如果您询问函数 15 是否是 Buzz,因为这是第一次检查,您将得到肯定的结果。
这里要测试的条件不是一个数是否能被15整除而是一个数是否能同时被3和5整除
鉴于此解释,您需要以不同方式编写条件:
a=int(input('Enter a number: '))
def fizzbuzz(a):
if a % 3 == 0 and a % 5 == 0:
return('Fizzbuzz')
elif a % 3 == 0:
return('Fizz')
elif a % 5 == 0:
return('Buzz')
else:
return a
print(fizzbuzz(a))
问题出在您的 if 条件语句的顺序上。
考虑一下,如果 a
可以被 15 整除,那么它也可以被 3 和 5 整除,因此您的代码将只输入第一个条件而不是您想要的。
将条件按 15、5、3 等的降序排列,您应该看到您想要的。
def fizzBuzz(n):
for n in range(1,n+1):
if n % 3 == 0 and n % 5 == 0:
print('FizzBuzz')
elif n % 3 == 0:
print('Fizz')
elif n % 5 == 0:
print('Buzz')
else:
print(n)
if __name__ == '__main__':
n = int(input().strip())
fizzBuzz(n)
我正在编写一个 fizzbuzz 函数,我想做的是输入值,return 它作为 fizz、buzz 或 fizzbuzz。但是,我的代码有问题。每当我 运行 这个,我只得到第一个条件,它不会继续。以下是您的代码:
a=int(input('Enter a number: '))
def fizzbuzz(a):
if a % 3 == 0:
return ('Fizz')
elif a % 5 == 0:
return ( 'Buzz' )
elif a % 15 == 0:
return ('Fizzbuzz')
else:
return a
print(fizzbuzz(a))
确保以正确的顺序检查您的条件。
Fizzbuzz 数也是 Fizz(可被 3 整除)和 Buzz(可被 5 整除),只是为了清楚起见。 在您编写的代码中,如果您询问函数 15 是否是 Buzz,因为这是第一次检查,您将得到肯定的结果。
这里要测试的条件不是一个数是否能被15整除而是一个数是否能同时被3和5整除
鉴于此解释,您需要以不同方式编写条件:
a=int(input('Enter a number: '))
def fizzbuzz(a):
if a % 3 == 0 and a % 5 == 0:
return('Fizzbuzz')
elif a % 3 == 0:
return('Fizz')
elif a % 5 == 0:
return('Buzz')
else:
return a
print(fizzbuzz(a))
问题出在您的 if 条件语句的顺序上。
考虑一下,如果 a
可以被 15 整除,那么它也可以被 3 和 5 整除,因此您的代码将只输入第一个条件而不是您想要的。
将条件按 15、5、3 等的降序排列,您应该看到您想要的。
def fizzBuzz(n):
for n in range(1,n+1):
if n % 3 == 0 and n % 5 == 0:
print('FizzBuzz')
elif n % 3 == 0:
print('Fizz')
elif n % 5 == 0:
print('Buzz')
else:
print(n)
if __name__ == '__main__':
n = int(input().strip())
fizzBuzz(n)