Python语言基础与应用-北京大学-陈斌-P29-28-计算和控制流:控制流:上机:基本计算程序-给定y和m,计算y年m月有几天?-上机代码
# 给定y和m,计算y年m月有几天?
run_y_m_day = { # 把闰年的每月天数存入字典
1:31,
2:29,
3:31,
4:30,
5:31,
6:30,
7:31,
8:31,
9:30,
10:31,
11:30,
12:31
}
not_run_y_m_day = { # 把非闰年的每月天数存入字典
1:31,
2:28,
3:31,
4:30,
5:31,
6:30,
7:31,
8:31,
9:30,
10:31,
11:30,
12:31
}
program_state = True # 为了方便调试,这里设置了死循环
while program_state: # 为了方便调试,这里设置了死循环
y = int(input("请输入年:"))
m = int(input("请输入月:"))
# 闰年规则:1、能被4整除,但不能被100整除;或2、能被400整除;
if (((y % 4) == 0) and ((y % 100) != 0)) or ((y % 400) == 0):
print("%d是闰年,%d月有%d天。" % (y,m,run_y_m_day[m]))
else:
print("%d不是闰年,%d月有%d天。" % (y,m,not_run_y_m_day[m]))
结果:
>>> %Run run_year.py
请输入年:2004
请输入月:2
2004是闰年,2月有29天。
请输入年:2005
请输入月:2
2005不是闰年,2月有28天。
请输入年:2008
请输入月:2
2008是闰年,2月有29天。
请输入年:2009
请输入月:2
2009不是闰年,2月有28天。
请输入年:2024
请输入月:2
2024是闰年,2月有29天。
请输入年:2024
请输入月:3
2024是闰年,3月有31天。
请输入年:2025
请输入月:2
2025不是闰年,2月有28天。
请输入年:2025
请输入月:3
2025不是闰年,3月有31天。
请输入年:
为了方便调试,代码中设计了死循环。