首页 > 解决方案 > 如果数字是 n 的倍数 - Python

问题描述

我试图在下面解决这个问题。我可以让它打印它是奇数还是偶数,但如果数字是 4 的倍数,我无法让它打印出正确的消息。

这就是问题所在:向用户询问一个号码。根据数字是偶数还是奇数,打印出适当的消息给用户。如果数字是 4 的倍数,则打印出不同的消息。

这是我的代码:

number = input("Pick a number and I'll tell you if it's odd or even. ")

def odd_or_even():
    if int(number) % 2 == 0:
        return("Your number is even.")
    elif int(number) % 4 == 0:
        return("Your number is a multiple of 4.")
    else:
        return("Your number is odd.")
print(odd_or_even())

标签: python

解决方案


如果一个数字是 4 的倍数,它也是一个偶数,这就是为什么它总是触发你的第一个条件,甚至不检查第二个条件。改变条件的顺序,即:

...
if int(number) % 4 == 0:
    return("Your number is a multiple of 4.")
elif int(number) % 2 == 0:
    return("Your number is even.")
...

推荐阅读