好的,所以我要建立一个程序,它可以计算出一个人是否年满18岁,因此他们是否可以投票。在
然而,我在努力如何让程序来计算输入的出生日期是否超过18年前。我尝试过各种方法,包括从今天起取消他们的出生日期。在
我认为如果能改变他们目前的出生日期之间的差异,那会更容易日期时间。时间增量在if语句中,它可以与18进行比较。在
我不要太复杂的东西。在
以下是我当前的代码:
from datetime import datetime
while True:
inp = input("Enter date in format yyyy/mm/dd")
try:
then = datetime.strptime(inp, "%Y/%m/%d")
break
except ValueError:
print("Invalid input")
diff = then - datetime.now()
diff = -diff
years = diff/365.25
years = int(years)
if years >= 18:
print("You can vote")
else:
print("You can't vote")
当前的问题是years = int(years)
,这是一种试图改变它的蹩脚方式。在
我该怎么解决这个问题?在
来自
dateutils
库的relativedelta
将完全按照您的要求操作-通过指定.years
我们只输出两个日期之间的年数。在如果你认为
years = int(years)
是问题,跳过它。那不会有什么害处的。在相关问题 更多 >
编程相关推荐