我正在尝试解决以下问题。我可以打印出它是奇数还是偶数,但是如果数字是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())
答案 0 :(得分:0)
如果数字是4的倍数,那么它也是偶数,这就是为什么它总是触发您的第一个条件,甚至不检查第二个条件的原因。更改条件的顺序,即:
...
if int(number) % 4 == 0:
return("Your number is a multiple of 4.")
elif int(number) % 2 == 0:
return("Your number is even.")
...