python写一个表白程序_用Python写一个能算出自己年龄的小程序
用Python寫一個能算出自己年齡的小程序。
其實我連我今年多少歲都不知道,最近看到了python的datetime庫里面有很多好用的方法,于是就寫了這樣一個程序作為練習(xí),然后又寫了這樣一篇文章來梳理我寫代碼的思考過程。
首先導(dǎo)入我們這個程序中需要的datetime庫。
import datetime算年齡
在算年齡之前,我們先要知道兩樣?xùn)|西。第一個是用戶的生日,第二是現(xiàn)在的日期
用戶的生日讓用戶輸入就行, 保存到birthday里面:
birthday = datetime.date( # 輸入生日year=int(input('請輸入你的出生年份:')),month=int(input('請輸入你的出生月份:')),day=int(input('請輸入你的出生日期:')) )現(xiàn)在的日期也很好求:
today = datetime.date.today() # 現(xiàn)在的日期然后怎么辦呢?我發(fā)現(xiàn)兩個date對象之間可以相減,這下就好辦了,直接把today和birthday相減得到的天數(shù)除以365就能得到年齡了。因為得數(shù)精度太高,舍入到了第7位。
age = round((today - birthday).days/365, 7) # 今天的日期與生日相減的天數(shù)除以365得出年齡最后就可以輸出啦。
print(f"今天是{today.year}年{today.month}月{today.day}日") print(f"你今年大約{age}歲了!")運行結(jié)果成功了。
計算還要多久過下一次生日
我們的程序功能好像有點單調(diào)了,添加一個計算還要過多久才能過下一次生日的功能吧。
首先我們要知道下一次過生日是什么時候。
生日的月份和日期是不變的,變的是年份。年份是今年或明年,可以從today變量里面獲取,月份和日期可以可以從birthday中獲取。因為birthday的變量名已經(jīng)用過了,所以下一次過生日的時間就存在birth里面吧。
birth = datetime.date( # 最近的生日year=today.year, # 今年month=birthday.month,day=birthday.day )然后輸出:
print(f"距離你的生日還有{(birth - today).days}天")但如果你真這么寫就會出bug:
出了一個bug為什么會出bug呢?
原來還有一個地方?jīng)]考慮,就是如果生日今年已經(jīng)過了,那么下一次過生日就是明年了。所以要在后面增加一個判斷條件:
if birth < today: # 如果今年過過了birth = datetime.date(year=today.year+1, # 算明年的month=birthday.month,day=birthday.day)這樣子就對了
結(jié)尾
附上datetime庫的官方文檔:datetime --- 基本的日期和時間類型https://docs.python.org/zh-cn/3/library/datetime.html
附上這個有趣的程序的完整源代碼:
import datetime birthday = datetime.date( # 輸入生日year=int(input('請輸入你的出生年份:')),month=int(input('請輸入你的出生月份:')),day=int(input('請輸入你的出生日期:')) ) today = datetime.date.today() # 現(xiàn)在的日期 age = round((today - birthday).days/365, 7) # 今天的日期與生日相減的天數(shù)除以365得出年齡birth = datetime.date( # 最近的生日year=today.year, # 今年month=birthday.month,day=birthday.day ) if birth < today: # 如果今年過過了birth = datetime.date(year=today.year+1, # 算明年的month=birthday.month,day=birthday.day)print(f"今天是{today.year}年{today.month}月{today.day}日") print(f"你今年大約{age}歲了!") print(f"距離你的生日還有{(birth - today).days}天") 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python写一个表白程序_用Python写一个能算出自己年龄的小程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python创建微信机器人_用Pyth
- 下一篇: dfs时间复杂度_吊打DFS和BFS,什