为什么条件中有两个数字的fizzbuzz在一数字条件后不工作?
我正在用Python做一个大家都知道的“FizzBuzz”问题,但我不明白为什么Python没有检查“组合”的条件。
这是我的代码:
i = 0
while i + 1 < 100:
i = i + 1
if i % 3 == 0:
print(str(i) + " fizz")
elif i % 5 == 0:
print(str(i) + " buzz")
elif (i % 3 == 0 and i % 5 == 0):
print(str(i) + " fizzbuzz")
else:
print(str(i))
我不明白为什么在可以同时被3和5整除的情况下,它没有输出“fizzbuzz”。
我想看到“fizz”或者“buzz”或者“fizzbuzz”,但我只看到了“fizz”或者“buzz”。这是为什么呢?
1 个回答
3
我不知道为什么这样有效,但对我来说确实有效。
我只是把检查这两个“东西”的条件放在了最上面。
这里是代码:
i = 0
while i + 1 < 100:
i = i + 1
if (i % 3 == 0 and i % 5 == 0):
print(str(i) + " fizzbuzz")
elif i % 3 == 0:
print(str(i) + " fizz")
elif i % 5 == 0:
print(str(i) + " buzz")
else:
print(str(i))
希望这对你也有效,遗憾的是,我无法解释为什么会这样。