100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python3计算今天是否生日以及距离生日还有多少天

Python3计算今天是否生日以及距离生日还有多少天

时间:2024-04-24 09:12:53

相关推荐

Python3计算今天是否生日以及距离生日还有多少天

#!/usr/bin/python# -*- coding: utf-8 -*-import datetimeimport time# 年月日单个toyear = time.strftime('%Y', time.localtime(time.time()))tomon = time.strftime('%m', time.localtime(time.time()))todayy = time.strftime('%d', time.localtime(time.time()))toyear = int(toyear)tomon = int(tomon)todayy = int(todayy)# 年月日合起来today = time.strftime("%Y-%m-%d", time.localtime())today_mon_day = time.strftime("%m-%d", time.localtime())print("今天是: " + today_mon_day)# 获取年def insert_year():# 2月闰年29天,不是闰年就是28天flag = Truewhile flag:input_year = input("输入出生年份 : ")input_year = int(input_year)# 今年之前出生的if input_year <= toyear:return input_yearflag = False# 今年出生的else:print("请不要输入未来的年份")continue # 今年之前出生的# 获取月def insert_mon():flag = Truewhile flag:input_mon = input("输入月份: ")input_mon = int(input_mon)if input_mon > 12 or input_mon < 1:print("输入正确的数字")continueelse:return input_monflag = Falsedef insert_day():flag = Truewhile flag:input_day = input("输入日 :")input_day = int(input_day)if input_day > todayy or input_day > 31 or input_day < 1:print("请输入正确的日份")continueelif input_day == todayy:print("生日快乐")flag = Falsereturn input_dayelse:return input_dayflag = False# 计算还有多少天生日(生日\今天\生日月\生日天)def how_long(today, mon, day):try:# 明年的今天next_year = int(toyear) + 1str3 = str(next_year) + "-" + str(mon) + "-" + str(day)str4 = str(int(toyear)) + "-" + str(mon) + "-" + str(day)date2 = datetime.datetime.strptime(today[0:10], "%Y-%m-%d") # 今天date3 = datetime.datetime.strptime(str3[0:10], "%Y-%m-%d") # 明年生日=今年年份+1 +生日的月日date4 = datetime.datetime.strptime(str4[0:10], "%Y-%m-%d") # 今年的年+生日的月日num = 0# 明年# 今天过生日:月日相等if mon == tomon:if day == todayy:print("今天过生日,祝你生日快乐")num = 0if day > todayy:print("这个月过生日")num = (date4 - date2).daysif day < todayy:print("生日这个月已经过了")num = (date3 - date2).days# 已经过了生日的:明年生日-今天elif mon < tomon:print("今年生日已经过了")num = (date3 - date2).days# 还没过生日:今年的年+生日的月日 - 今天的年月日else:print("今年的生日还没到")num = (date4 - date2).days # 返回的全部是非0的整数except ValueError as e:print("请输入正确的日期,一个月只有适合的天数 " + e)print("程序结束...")return numif __name__ == "__main__":year = insert_year()mon = insert_mon()day = insert_day()num = how_long(today, mon, day)if num != 0:print("距离生日还有" + str(num) + "天")mybirthday = str(year) + "-" + str(mon) + "-" + str(day)print("你的生日是: " + mybirthday)print("输入任意按键退出~")input()

打包:

pyinstaller -F D:\project\test.py (换成自己路径)

运行效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。