24 lines
1.9 KiB
Markdown
24 lines
1.9 KiB
Markdown
# 在 Python 中使用模来检查闰年
|
||
|
||
> 原文:<https://www.pythoncentral.io/using-modulo-check-leap-year-python/>
|
||
|
||
我们已经在[的上一课](https://www.pythoncentral.io/using-python-to-check-for-odd-or-even-numbers/)中讨论过模(%)运算符,但是作为一个快速复习,模是一个用于计算一个数除以另一个数的余数的运算符。因此,如果你有一个等式,比如 6 % 3,答案将是 0,因为 3 平均地进入 6,没有余数。理解模的关键在于,它不是用来计算两个数相除的答案,而是用来计算*余数*。所以在 10 % 3 的例子中,答案应该是 2,因为 3 除以 10 ^ 3,余数是 2。
|
||
|
||
使用模运算符的一个很酷的方法是计算一年是否是闰年。你可能知道,闰年每 4 年发生一次,而且总是在 4 的倍数的年份,例如,2000 年、2004 年、2008 年、2012 年和 2016 年是最近的闰年。尽管闰年总是偶数年,但并不是每个偶数年都是闰年,因为它每 4 年而不是每 2 年发生一次。出于这个原因,检查一个数字是偶数还是奇数的代码不能用于这个特定的目的。
|
||
|
||
要检查一个数字是否是闰年,我们必须看它是否能被 4 整除。为此,我们使用模来查看一个数除以 4 是否有余数 0。如果是的话,那一定是闰年。如果不是,那就不可能是一个。查看下面的代码,看看它是如何工作的:
|
||
|
||
```py
|
||
year = 2020
|
||
|
||
if (year % 4) == 0:
|
||
print("{0} is a leap year")
|
||
else:
|
||
print("{0} is not a leap year")
|
||
```
|
||
|
||
这个简单的代码可以处理您输入的任何年份,以确定它是否是闰年。如果你用 2017 年、2018 年或 2019 年试试,你会发现这几年都不是闰年。然而,如果你像上面的例子一样尝试 2020 年,你会发现,事实上,这是一个闰年。所以上面代码的输出是:
|
||
|
||
```py
|
||
2020 is a leap year
|
||
``` |