为什么 fizzbuzz 对 python 中的两个数字不起作用?

问题描述 投票:0回答:1

我正在尝试用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。

我想看到“嘶嘶”或“嗡嗡”或“嘶嘶”,但我只看到“嘶嘶”或“嗡嗡”。为什么?

python if-statement
1个回答
1
投票

我不知道为什么这有效,但这对我有用。

我只是将检查两个“事物”的条件放在上面。

这里:

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))

我希望这对你有用,遗憾的是,我无法解释为什么会这样。

© www.soinside.com 2019 - 2024. All rights reserved.