Python 如何在列表中使用多个布尔运算符
我对编码相当陌生,但仍坚持其中一个练习 “编写一个程序,接受DD/MM/YYYY格式的日期,并输出 或者日期无效。例如,1969年7月20日有效,但2012年9月31日无效。“ 我的尝试是:Python 如何在列表中使用多个布尔运算符,python,Python,我对编码相当陌生,但仍坚持其中一个练习 “编写一个程序,接受DD/MM/YYYY格式的日期,并输出 或者日期无效。例如,1969年7月20日有效,但2012年9月31日无效。“ 我的尝试是: d = int(input("Enter a day")) m = int(input("Enter a month")) y = int(input("Enter a year")) if d > 30 and m == [4, 6, 9, 11]: print("This date i
d = int(input("Enter a day"))
m = int(input("Enter a month"))
y = int(input("Enter a year"))
if d > 30 and m == [4, 6, 9, 11]:
print("This date is invalid")
elif d > 31:
print ("This date is invalid")
elif m != [1,2,3,4,5,6,7,8,9,10,11,12]:
print ("This date is invalid")
else:
print("This date is valid")
如果您对如何解决此问题有任何建议,我们将不胜感激。只需修改代码,根据多个选项检查条目
m
的正确实现,如下所示。要检查多个选项,请在中使用,例如,如果[4,6,9,11]中有m,则使用,而不是=
if d > 30 and m in [4, 6, 9, 11]:
print("This date is invalid")
elif d > 31:
print ("This date is invalid")
elif m not in [1,2,3,4,5,6,7,8,9,10,11,12]:
print ("This date is invalid")
else:
print("This date is valid")
你很接近。只需修改代码,根据多个选项检查条目m
的正确实现,如下所示。要检查多个选项,请在
中使用,例如,如果[4,6,9,11]中有m,则使用,而不是=
if d > 30 and m in [4, 6, 9, 11]:
print("This date is invalid")
elif d > 31:
print ("This date is invalid")
elif m not in [1,2,3,4,5,6,7,8,9,10,11,12]:
print ("This date is invalid")
else:
print("This date is valid")
要检查列表中的成员资格,请使用in
操作符
if d > 30 and m in [4, 6, 9, 11]:
要检查列表中的成员资格,请使用in
操作符
if d > 30 and m in [4, 6, 9, 11]:
我将使用datetime
模块的date
对象。可能是不允许的,但在这里你还必须考虑闰年,等等。一些日历甚至随着时间的推移而改变,这使得很难正确地解析它而不出现任何错误。例如,在公元前8年之前,闰年每三年发生一次。可能还缺少一个事实,即您得到一个字符串,用斜杠分隔,因此您必须将其“拆分”为三部分。请检查此项。我将使用datetime
模块的date
对象。可能是不允许的,但在这里你还必须考虑闰年,等等。一些日历甚至随着时间的推移而改变,这使得很难正确地解析它而不出现任何错误。例如,在公元前8年之前,闰年每三年发生一次。可能还缺少一个事实,即你得到一个字符串,用斜线分隔,因此你必须将它“拆分”为三部分。请检查此项。