Python うるう年チェッカー

Python の標準の割り算チェックを使用して、年が閏年であるかどうかを判断します。

エディターで試してみる

概要

閏年には 365 日ではなく 366 日が含まれ、2 月に 1 日追加されます。これは、暦年を天文年と同期させるために発生します。

このルールでは、世紀年 (00 で終わる年) を除き、年が 4 で割り切れる場合はうるう年であると規定されており、世紀年も 400 で割り切れる必要があります。

この計算は、論理演算子 (「and」、「or」) とモジュロ演算子の組み合わせを使用して Python で実装されます。

コードと実行の出力

世紀年を含む複数のテスト年を検証するための割り算ベースのアルゴリズム。

def is_leap_year(year):
    # A year is leap if it is divisible by 4
    # and (not divisible by 100 or divisible by 400)
    return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)

years = [2000, 2004, 1900, 2023, 2024]
for y in years:
    status = "Leap Year" if is_leap_year(y) else "Not a Leap Year"
    print(f"Year {y}: {status}")
端子出力
Year 2000: Leap Year
Year 2004: Leap Year
Year 1900: Not a Leap Year
Year 2023: Not a Leap Year
Year 2024: Leap Year

段階的な実装

  • スケジュール、カレンダー、日時モジュールの検証
  • 年齢や日付の違いを正確に判断する
  • 融資と利息の計算式

よくある質問

なぜ 1900 年はうるう年ではなかったのでしょうか?

1900 年は 4 で割り切れますが、00 (世紀年) で終わるため、うるう年にするには 400 で割り切れる必要があります。 1900 / 400 は整数ではないため、うるう年ではありません。

関連トピック