在Python中,我们可以用input函数来获取用户输入的信息。通过这个函数,我们可以让用户输入自己的出生日期,然后在程序中计算出用户的年龄。
def calc_age_from_birth(): birth = input('请输入您的出生日期(格式:yyyy-mm-dd):') birth_year, birth_month, birth_day = birth.split('-') today_year, today_month, today_day = str(date.today()).split('-') age = int(today_year) - int(birth_year) if today_month < birth_month or (today_month == birth_month and today_day < birth_day): age -= 1 print('您的年龄是:%d岁' % age)
通过调用date.today()方法可以获取当天的日期,然后通过字符串分割的方式将其与出生日期进行比较。
除了使用字符串操作来计算年龄之外,我们还可以使用Python内置的datetime库来进行计算。
from datetime import datetime def calc_age_using_datetime(): birth = input('请输入您的出生日期(格式:yyyy-mm-dd):') birth_date = datetime.strptime(birth, '%Y-%m-%d') today = datetime.today() age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day)) print('您的年龄是:%d岁' % age)
datetime库中的strptime函数可以将字符串转换为datetime对象,然后通过对比日期来计算年龄。
在Python中,还可以使用第三方库dateutil来进行日期相关的操作。其中该库提供了relativedelta函数,可以方便地计算两个日期之间的差值。
from dateutil.relativedelta import relativedelta def calc_age_using_dateutil(): birth = input('请输入您的出生日期(格式:yyyy-mm-dd):') birth_date = datetime.strptime(birth, '%Y-%m-%d') today = datetime.today() age = relativedelta(today, birth_date).years print('您的年龄是:%d岁' % age)
dateutil库中的relativedelta函数可以直接计算出两个日期之间的差值,其中常用的是years参数,表示两个日期之间的年份差。
以上介绍了三种快速输出年龄信息的方法,分别是使用字符串操作、使用datetime库以及使用dateutil库。
其中,使用dateutil库可能需要单独安装,但是该库提供了更为便捷的日期计算方式,可以大幅度提高我们的编程效率。
在实际使用过程中,我们可以根据自己的需求进行选择,以实现快速输出年龄信息的目的。
标签: 源码