输入一个日期,输出该日期是本年的第几天。(用if实现) 【问题描述】输入一个日期,输出该日期是本年的第几天。 【提示】需要考虑本年是否为闰年,本题目要求使用if语句实现
时间: 2024-10-21 20:11:39 浏览: 30
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
5星 · 资源好评率100%
在Python中,我们可以创建一个函数来实现这个功能,这里使用`if`语句判断闰年并计算天数。以下是一个简单的示例:
```python
def day_of_year(date_string):
import datetime
# 将字符串转换为日期对象
date = datetime.datetime.strptime(date_string, '%Y-%m-%d')
# 判断是否是闰年
is_leap_year = (date.year % 4 == 0 and date.year % 100 != 0) or (date.year % 400 == 0)
# 计算当前日期到年初的天数
if is_leap_year and date.month >= 2:
days_in_non_leap_year = 365
else:
days_in_non_leap_year = 365
for month in range(1, date.month):
if is_leap_year and month in [1, 3, 5, 7, 8, 10, 12]:
days_in_non_leap_year += 31
elif not is_leap_year and month in [1, 3, 5, 7, 8, 10, 12]:
days_in_non_leap_year += 30
else:
days_in_non_leap_year += 28 # February has 29 days in a leap year
return days_in_non_leap_year + date.day
# 测试示例
date_input = "2023-03-15"
day = day_of_year(date_input)
print(f"{date_input} 是本年的第 {day} 天.")
阅读全文