python - 如果数字是 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())
解决方案
如果一个数字是 4 的倍数,它也是一个偶数,这就是为什么它总是触发你的第一个条件,甚至不检查第二个条件。改变条件的顺序,即:
...
if int(number) % 4 == 0:
return("Your number is a multiple of 4.")
elif int(number) % 2 == 0:
return("Your number is even.")
...
推荐阅读
- reactjs - Cloud Firestore ReactJS 错误:缺少权限或权限不足
- python - Python - 检查字符串的一部分是否存在于列表中并给出其匹配的索引
- javascript - 响应式过滤图片库 P
- javascript - React/redux 使用 post 请求更新数据库
- python-3.x - 高效使用 Numpy 以行块的形式进行处理
- java - 解析时读取超时错误
- javascript - Django Uncaught ReferenceError: flat_plate 未定义
- email - 构建失败时,Teamcity 向特定地址发送电子邮件
- xml - SharePoint 列表不会以 XML 呈现,但它的视图会
- excel - Excel - 发生意外错误 - 跳转到不同工作表中的单元格