如何使用
python实现输入某年某月某日判断这一天是这一年的第几天
from datetime import datetime #引入日期类
def is_leap_year(year):"""判断是否为闰年"""return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)# 根据年份和月份返回当年年份所在月有多少天
def days_in_month(year, month):"""返回指定年份的月份的天数"""if month in [4, 6, 9, 11]:return 30elif month == 2:return 29 if is_leap_year(year) else 28else:return 31# 判断输入日期是否大于该月天数,如果大于,返回错误信息,否则返回结果
def day_of_year(year, month, day):"""计算给定日期是该年的第几天"""if day > days_in_month(year, month):return "输入错误,日期超出了该月的天数"date = datetime(year, month, day) #返回datetime对象day_of_the_year = date.timetuple().tm_yday #将日期格式转为时间元组,返回这一年这个月这一天是本年的第几天return day_of_the_year# 控制台输入
year = int(input("请输入年份: "))
month = int(input("请输入月份: "))
day = int(input("请输入日期: "))# 返回结果
result = day_of_year(year, month, day)# 判断结果是否为int类型,如果是,则输出拼接结果,否则直接输出
if isinstance(result, int):print(f"{year}年{month}月{day}日是该年的第{result}天")
else:print(result)
运行结果:
正常情况:
输入日期大于月份天数: