一、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庫可能需要單獨安裝,但是該庫提供了更為便捷的日期計算方式,可以大幅度提高我們的編程效率。
在實際使用過程中,我們可以根據自己的需求進行選擇,以實現快速輸出年齡信息的目的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/183778.html