输入某年某月某日,判断这一天是这一年的第几天?python代码 for if 循环写
时间: 2024-10-08 13:07:57 浏览: 56
在Python中,你可以通过计算从年初到给定日期的天数来确定这一天是一年的第几天。这通常涉及到闰年规则的处理,因为二月有28天(非闰年)或29天(闰年)。这里是一个简单的for循环实现:
```python
def day_of_year(year, month, day):
# 初始天数设置为0,代表年初的第一天
days_in_year = 0
# 遍历每个月的天数
for m in range(1, month):
if m == 2: # 检查是否为闰年,如果是,则2月多一天
if is_leap_year(year):
days_in_year += 29
else:
days_in_year += 28
elif m in [4, 6, 9, 11]: # 其他非二月的月份,各30天
days_in_year += 30
else: # 一月和七月31天
days_in_year += 31
# 加上当前月份的天数
days_in_year += day
return days_in_year
# 判断是否是闰年
def is_leap_year(year):
return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
# 测试
year = int(input("请输入年份:"))
month = int(input("请输入月份(1-12):"))
day = int(input("请输入日期:"))
print(f"这一天是一年的第{day_of_year(year, month, day)}天。")