我试图创建一个代码,在这里用户被要求输入他们的出生日期和今天的日期,以确定他们的年龄。到目前为止我写的是:
print("Your date of birth (mm dd yyyy)")
Date_of_birth = input("--->")
print("Today's date: (mm dd yyyy)")
Todays_date = input("--->")
from datetime import date
def calculate_age(born):
today = date.today()
return today.year - born.year - ((today.month, today.day) < (born.month, born.day))
age = calculate_age(Date_of_birth)
然而,它并不像我希望的那样运行。有人能解释一下我做错了什么吗?
您也可以这样使用日期时间库。这将计算以年为单位的年龄,并删除由于月和日属性而返回错误年龄的逻辑错误
就好像1999年7月31日出生的人到2017年7月30日才17岁
下面是代码:
这应该有效:)
太近了!
您需要将字符串转换为datetime对象,然后才能对其进行计算-请参见^{} 。
对于日期输入,您需要执行以下操作:
注:我建议您使用合理的输入顺序-
dd mm yyyy
或ISO标准yyyy mm dd
相关问题 更多 >
编程相关推荐