您的位置:

快速输出年龄信息

一、Python中的input函数

在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()方法可以获取当天的日期,然后通过字符串分割的方式将其与出生日期进行比较。

二、使用datetime库来计算年龄

除了使用字符串操作来计算年龄之外,我们还可以使用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对象,然后通过对比日期来计算年龄。

三、使用第三方库dateutil来计算年龄

在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库可能需要单独安装,但是该库提供了更为便捷的日期计算方式,可以大幅度提高我们的编程效率。

在实际使用过程中,我们可以根据自己的需求进行选择,以实现快速输出年龄信息的目的。