geekdoc-python-zh/docs/pythoncentral/using-modulo-check-leap-yea...

24 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 在 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
```