Python-计算您今年的的年龄

没有注释的源代码

import datetime  
sName = input('请输入您的名字:')
birthday_year = int(input('请输入您的出生年份:'))
birthday_month = int(input('请输入您的出生月份:'))
birthday_day = int(input('请输入您的出生日期:'))
today = datetime.date.today()  
current_year = today.year  
this_year_birthday = datetime.date(current_year, birthday_month, birthday_day) 
if today < this_year_birthday: 
    age = current_year - birthday_year - 1
    next_birthday_days = (this_year_birthday - today).days
    print(f'您好,{sName},您今年的年龄是{age}。您的生日还有{next_birthday_days}天。')
elif today == this_year_birthday: 
    age = current_year - birthday_year
    print(f'生日快乐,{sName}! 您今年{age}岁了。')
else:
    age = current_year - birthday_year
    days_since_birthday = (today - this_year_birthday).days
    print(f'您好,{sName},您今年的年龄是{age}。您的生日已经过去{days_since_birthday}天了。')

标有注释的源代码

import datetime   #导入datetime模块用来获得当前的年份,月份,日期

sName = input('请输入您的名字:')#input输入语句
birthday_year = int(input('请输入您的出生年份:'))
birthday_month = int(input('请输入您的出生月份:'))
birthday_day = int(input('请输入您的出生日期:'))

today = datetime.date.today()  #调用模块返回当前日期的date类中的today()方法,其格式为(YYYY-MM-DD)
current_year = today.year  #调用日期的年份部分

# 计算今年的生日日期
this_year_birthday = datetime.date(current_year, birthday_month, birthday_day) #创建了一个指定年、月、日的date对象
# 判断是否已经过了今年的生日,使用if-elif-else多条件判断语句

if today < this_year_birthday: #还没过生日
    # 还没过生日,年龄为当前年份减去出生年份再减1
    age = current_year - birthday_year - 1
    next_birthday_days = (this_year_birthday - today).days
    print(f'您好,{sName},您今年的年龄是{age}。您的生日还有{next_birthday_days}天。')
    
elif today == this_year_birthday: #今天恰好是生日
    # 已经过了生日或今天是生日,年龄为当前年份减去出生年份
    age = current_year - birthday_year
    print(f'生日快乐,{sName}! 您今年{age}岁了。')
    
else:   #已经过了生日
    age = current_year - birthday_year
    days_since_birthday = (today - this_year_birthday).days
    print(f'您好,{sName},您今年的年龄是{age}。您的生日已经过去{days_since_birthday}天了。')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值