python - 一种检查月份和日期组合在 Python 3 中是否有效的方法
问题描述
- 您好,我目前正在学习基本的 Python 课程,我们目前正在学习 if-else 语句。我理解 if-else 语句的概念,但目前有一件事困扰着我。我需要创建一个提示,允许用户输入从 1 到 12 的月份,从 1 到 31 的天,并且提示将通过确定输入是否在这些范围内来判断输入是否有效/无效。但是,从逻辑上讲,某些日期是没有意义的。例如,您不能有 4/31 或 6/31,因为这些月份只有 30 天。我目前正在尝试编写一个代码来告诉用户月/日组合是否有效/无效,但我不知道该怎么做。我很想被教如何。
这是我到目前为止所拥有的:
month = int(input("Please enter a month in numeric form from 1-12: "))
if month == 1 or 3 or 5 or 7 or 8 or 10 or 12:
print("Valid Month with more than 30 days")
elif month == 4 or 6 or 9 or 11:
print("Valid Month with 30 days")
elif month == 2:
print("Month has only 28 days max")
else:
print("Invalid Month")
day = int(input("Please enter a day in numeric form from 1-31: "))
if day == 0 < day < 32:
print("Valid Day")
else:
print("Invalid Day")
解决方案
这不完全是如何or
工作的。您可能想in
与一组一起使用,例如,
if month in {1, 3, 5, 7, 8, 10, 12}:
等等
or
是一个二元运算符,如果为真则返回其左参数,否则返回其右参数,所以
foo or bar
就像说foo if foo else bar
。
推荐阅读
- javascript - 如何将 javascript 添加到 elementor 小部件或编辑现有的 elementor 小部件?
- php - 日期操作 PHP 和 SQL,如果我减去月份,则过去一年
- ios - Flutter IOS FCM推送通知未进入通知栏
- c# - 为什么在 ASP.NET Core 中使用 .Result 不会产生死锁?
- keras - 数据增强给我带来了更糟糕的结果
- c# - 消息在 ActiveMQ 中入队和出队时如何编写自定义日志
- plugins - 使用 jython 的 imageJ 插件:如何在脚本中调用它?
- javascript - 如何将新的计算数组对象添加到现有数组
- c# - 如何为实体框架编写共享方法
- vue.js - vuetify 网格样式在构建后消失