使用字典实现python中输入日期判断是第几天
时间: 2023-06-02 14:02:36 浏览: 92
python 输入某年某月某日,判断这一天是这一年的第几天?(示例)
以下是使用字典实现输入日期判断是第几天的Python代码:
```
def is_leap(year):
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
def day_of_year(date):
year, month, day = map(int, date.split('-'))
days_in_month = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
if is_leap(year):
days_in_month[2] = 29
day_count = 0
for i in range(1, month):
day_count += days_in_month[i]
day_count += day
return day_count
date = input('请输入日期(格式为YYYY-MM-DD):')
day = day_of_year(date)
print(f'{date}是{day}年的第{day}天。')
```
该代码定义了两个函数,`is_leap(year)`用于判断给定年份是否是闰年,`day_of_year(date)`用于计算给定日期是该年的第几天。在`day_of_year(date)`函数中,使用了一个字典`days_in_month`,其中键为月份,值为该月的天数。如果给定年份是闰年,则将二月的天数修改为29。接着,使用一个循环遍历1到给定月份之前的所有月份,累加每个月的天数。最后,将累加的天数加上给定日期的天数,即可得到该日期是该年的第几天。最后,使用`input()`函数获取用户输入的日期,调用`day_of_year(date)`函数计算天数并输出结果。
阅读全文