You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python根据输入出生日期计算并打印当前年龄的代码问题

年龄计算问题修复方案

你当前代码中两个日期直接相减得到的是timedelta类型的时间差对象,存储的是两个日期间隔的总天数,无法直接得到实际周岁年龄,按如下逻辑修改即可得到正确年龄:

  • 首先用当前年份减去出生年份得到初始年龄值
  • 比对当前日期和本年生日的月、日,如果今年生日还没到,将初始年龄减1,即为实际年龄

修正后完整可运行代码

from datetime import date, datetime
birth1 = input("Input your date of birth (dd/mm/yyyy):")

currentDate = date.today()
birth2 = datetime.strptime(birth1, "%d/%m/%Y").date()
# 计算实际周岁年龄
age = currentDate.year - birth2.year
if (currentDate.month, currentDate.day) < (birth2.month, birth2.day):
    age -= 1

print(age, "years old")

提示:上述逻辑计算的是通用周岁年龄,自动规避了未到生日年龄多算1岁的问题,输入符合dd/mm/yyyy格式的出生日期即可正常输出结果。

内容的提问来源于stack exchange,提问作者newbeat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:09:22