在回复this challenge时,我写了以下代码:
for i in range(1, 101):
if i % 3 == 0:
print("Fizz")
if i % 5 == 0:
print("Buzz")
if i % 15 == 0:
print("Fizzbuzz")
elif i % 3 !=0:
print(i)
elif i % 5 !=0:
print(i)
elif i % 15 !=0:
print(i)
它有效,但我不确定它是最有效的方法。例如,我不确定的一件事是如何仅使用1 elif
包含几个可分性测试。任何帮助赞赏!
答案 0 :(得分:1)
这是任何数字的最有效方式:
def fizzbuzz(n):
output = ''
if n % 3 == 0:
''.join(output, 'Fizz')
if n % 5 == 0:
''.join(output, 'Buzz')
return output if output else str(n)
print "\n".join(fizzbuzz(n) for n in xrange(1, 21))
答案 1 :(得分:0)
而不是:
elif i % 3 !=0:
print(i)
elif i % 5 !=0:
print(i)
elif i % 15 !=0:
print(i)
你可以做到
elif i % 3 !=0 or i % 5 != 0 or i % 15 != 0:
print(i)