import datetimedef calculate_days(year, month, day): today = datetime.date.today() birthday = datetime.date(year, month, day) days = (today - birthday).days return daysyear = int(input("请输入出生年份:"))month = int(input("请输入出生月份:"))day = int(input("请输入出生日期:"))days = calculate_days(year, month, day)print("您已经存活了 %d 天" % days)优化这段代码
时间: 2024-03-21 07:38:50 浏览: 73
好的,以下是对这段代码的一些优化建议:
1. 可以添加一些异常处理,例如输入的年月日不合法的情况,可以使用 `try-except` 结构来捕获并提示用户重新输入。
2. 可以添加一些注释,使得代码更易读。
下面是优化后的代码示例:
```python
import datetime
def calculate_days(year, month, day):
"""
计算存活天数
:param year: 出生年份
:param month: 出生月份
:param day: 出生日期
:return: 存活天数
"""
today = datetime.date.today()
birthday = datetime.date(year, month, day)
days = (today - birthday).days
return days
while True:
try:
year = int(input("请输入出生年份:"))
month = int(input("请输入出生月份:"))
day = int(input("请输入出生日期:"))
days = calculate_days(year, month, day)
print("您已经存活了 %d 天" % days)
break
except ValueError:
print("输入的年月日格式不正确,请重新输入!")
```
在这个优化后的代码中,我们首先添加了一个 `while` 循环,确保用户输入的年月日格式正确,如果不正确就提示用户重新输入。然后我们在 `calculate_days` 函数中添加了注释,使得函数的作用更加清晰。最后,我们还可以添加一些其他的异常处理,例如当用户输入的年份大于当前年份时,提示用户输入的年份不合法等。
阅读全文