首页 > 解决方案 > for 循环中的两个 if 不适用于 FizzBu​​zz

问题描述

我在 Python 3 上有这个超级简单的 FizzBu​​zz 代码,它必须工作,但它没有。输出看起来像 FizzBu​​zz 1 2 3 4 Buzz 6 7 8 9 Buzz 11 12 13 14 FizzBu​​zz

适用于 5 和 15,但不适用于 3。我知道我可以通过其他方式解决这个问题,但我想知道我在这一口中缺少什么。

for i in range(100):
    output="";

    if i % 3 == 0:
        output += "Fizz";
        
    if i % 5 == 0:
        output += "Buzz";
        
    else:
        output = i
        
    print(output)
    

标签: python

解决方案


else当您击中 3 时会发生这种情况。那是您的错误。

这是因为else仅适用于第二个if

也许您可以尝试将 替换elseif not output:.


推荐阅读