将这段代码用case语句改写计天的部分,以保证他能按照实际每个月有多少天来进位
时间: 2023-07-16 14:14:22 浏览: 50
以下是将计天部分用 case 语句改写的代码:
```python
month_days = {
1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31
}
day += days
while day > month_days[month]:
day -= month_days[month]
month += 1
if month > 12:
month = 1
year += 1
```
使用 case 语句改写之后的代码:
```python
day += days
while True:
if day > 28:
leap_year = False
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
leap_year = True
if month == 2 and leap_year:
if day > 29:
day -= 29
month += 1
elif day > month_days[month]:
day -= month_days[month]
month += 1
if month > 12:
month = 1
year += 1
else:
break
```
在新的代码中,我们根据每个月的天数来判断是否需要进位。如果当前月份是二月且是闰年,那么最多只能有29天;如果当前月份不是二月,那么最多只能有对应月份的天数。当天数超过这个限制时,我们将天数减去对应的天数,月份加1。如果月份超过12,则将月份重置为1,年份加1。如果天数没有超过限制,则直接跳出循环。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)