【发布时间】:2017-08-08 04:15:43
【问题描述】:
我正在尝试创建一个代码,要求用户输入他们的出生日期和今天的日期,以确定他们的年龄。到目前为止我写的是:
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)
但是它并没有像我希望的那样运行。有人可以向我解释我做错了什么吗?
【问题讨论】:
-
离题:不要以大写字母开头的变量名,改用
date_of_birth和todays_date。 -
如何没有按您希望的那样运行?请解释一下。
-
它根本不运行,它炸毁并说'str'没有属性到年份
-
当您发布问题时,您应该给出错误消息。像
"3 14 1995"这样的东西只是一个字符串。除非您告诉它,否则 Python 不会将其解释为日期。 -
输入是文本字符串而不是日期对象。如果它是输入值,您需要将其转换为 Born = datetime.strptime(Date_of_birth, "%m %d %Y") 与 Todays_date 相同
标签: python calculator