程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以计算该输入日期在日历上隔一天的日期。例如,输入为2004年11月29日,则该程序的输出为2004年12月1日。
时间: 2023-05-29 07:02:35 浏览: 135
结构体变量(包括年、月、日),编程序,要求输入年月日,程序能计算并输出该日在本年中是第几天
解决方案:
1. 根据输入的年份判断是否为闰年,如果是,则2月份有29天,否则为28天。
2. 根据输入的月份计算该月份的天数。
3. 根据输入的日期和月份计算隔一天的日期,如果跨月,则需要计算下一个月的天数。
4. 输出结果。
代码实现如下:
```python
def is_leap(year):
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
return True
else:
return False
def next_day(month, day, year):
days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if is_leap(year):
days_in_month[1] = 29
day += 1
if day > days_in_month[month - 1]:
day = 1
month += 1
if month > 12:
month = 1
year += 1
return (month, day, year)
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
year = int(input("请输入年份:"))
next_month, next_day, next_year = next_day(month, day, year)
print("隔一天的日期是:%d年%d月%d日" % (next_year, next_month, next_day))
```
阅读全文