判断平年与闰年
在公历里有 365 天和 366 天的差异,也就衍伸有了平年和闰年的定义,这篇文章将会介绍如何透过 Python 的 if 逻辑判断式,判断某一年是平年还是闰年。
本篇使用的 Python 版本为 3.7.12,所有范例可使用 Google Colab 实作,不用安装任何软件 ( 参考:使用 Google Colab )
什么是平年?什么是闰年?
平年和闰年按照下方的规范来定义,只要满足下方的规范,就是闰年,否则就是平年,闰年的二月有 29 天,平年的二月则是 28 天。
- 除以 4 能整除,且除以 100 不能整除
- 如果刚好是 100 的倍数,且除以 400 能整除
举例来说 2000 年是 100 的倍数且除以 400 能整除,所以是 2000 年是闰年,例如 2100 年虽然是 4 的倍数,但除以 100 能整除,所以 2100 年是平年。
编辑程序 ( 巢状判断 )
根据平年闰年的判断规则,撰写对应的程序,让用户先输入年份,再根据年份判断平年闰年,判断的方式使用 % 计算余数是否为 0。
year = int(input('>')) # 使用變數 year 紀錄使用者輸入的年份
if year%4 == 0: # 如果除以 4 能整除
if year%100 == 0: # 如果除以 100 能整除
if year%400 == 0: # 如果除以 400 能整除,就是閏年
print(f'{year} 是閏年')
else:
print(f'{year} 是平年')
else:
print(f'{year} 是閏年')
else:
print(f'{year} 是平年')
编辑程序 ( 非巢状判断 )
如果觉得巢状判断式不容易理解,也可以用更简单的判断方法,先新增一个变数 text 默认平年,再依序判断年份,逐步将 text 的内容改变,也可以得到相同的结果。
year = int(input('>'))
text = '平年' # 新增變數 text 預設平年
if year%4 == 0:
text = '閏年' # 如果除以 4 能整除,將 text 改為閏年
if year%100 == 0:
text = '平年' # 如果除以 100 能整除,將 text 改為平年
if year%400 == 0:
text = '閏年' # 如果除以 400 能整除,將 text 改為閏年
print(f'{year} 是{text}')
微信扫码关注
抖音扫码关注