Categories: Python

【Python】閏年(うるうどし)を判定してみよう!

この記事では、Pythonでうるう年を判定する方法を解説します。

うるう年の判定はそれほど難しくないので初心者の方の学習に使われたりします。

それでは、うるう年の条件を確認してプログラムで表現する方法を見ていきましょう!

うるう年とは?

うるう年(leap year)とは、2月29日が存在する年のことを言って4年に一度だけ訪れます。なんでも季節と暦がずれるのを調整する年なんだとか。

うるう年のルール
  1. うるう年は4で割り切れる年
  2. 100で割り切れて400で割り切れない年は平年

うるう年の条件は上記のように明確に定められています。

ということは、渡された値が上記の条件に当てはまるかどうかを判定するだけでうるう年かどうかを判定することができます。

それでは、この条件をPythonで表現する方法を見ていきましょう!

うるう年を判定するプログラム

今回は例としてユーザー(コマンドライン)から受け取った西暦がうるう年かどうかを判定するプログラムを作成します。

西暦を受け取る

西暦をinput関数で受け取ります。その際、int型に変換しておきます。

year = int(input('西暦: '))

うるう年か判定

うるう年を判定するには、先ほどの「うるう年のルール」を条件としてif文を使って判定します。割り切れるかどうかを判定するには%演算子を使います。

# 100で割り切れて400で割り切れない年は平年 if year % 100 == 0 and year % 400 != 0: print("平年") # 上記の条件に引っかからなかった場合、うるう年の可能性がある # 4で割り切れるならうるう年 elif year % 4 == 0: print("うるう年") # その他は平年 else: print("平年")
【Python】if文を使った条件分岐の方法を解説この記事では、Pythonのif文の使い方を解説します。if文を使うことで条件分岐することができます。条件分岐とは 指定された条件によって処理を分岐させることを言います。プログラミングのキモとも言える構文なのでしっかりと学んでいきましょう。それでは、if文の使い方を見ていきましょう! ...

実際にうるう年を判定してみる

先ほどのコードを使ってうるう年を判定してみましょう!

year = int(input('西暦: ')) if year % 100 == 0 and year % 400 != 0: print("平年") elif year % 4 == 0: print("うるう年") else: print("平年")

実行結果

西暦: 2004 うるう年 西暦: 2000 うるう年 西暦: 1904 うるう年 西暦: 1900 平年

ちゃんと判定することができました!

calendarモジュールを使う

実はPythonには、うるう年を判定できる機能があらかじめ用意されています。うるう年かどうかを判定するには、calendarモジュールのisleap()関数を使います。

import calendar calendar.isleap(year)

引数に指定した整数がうるう年ならTrue、うるう年でなければFalseが返されます。なので、if文を使って簡単に判定することができます。

import calendar year = int(input('西暦: ')) if calendar.isleap(year): print('うるう年') else: print('平年')

実行結果

西暦: 2004 うるう年 西暦: 2000 うるう年 西暦: 1904 うるう年 西暦: 1900 平年

calendarモジュールは他にも指定した期間内のうるう年をカウント・列挙できたりします。

Linkcalendar --- 一般的なカレンダーに関する関数群 — Python ドキュメント

まとめ

この記事では、Pythonでうるう年を判定するプログラムを作成しました。

うるう年判定は、学習のためによく使われますが、型変換に条件分岐が使えれば色々なコードを書くことができます。いろいろ試して遊んでみましょう!

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

リッチなソースコードをブログに載っける方法

この記事では、ブログにソースコードを記述…

2か月 ago

【Mac】Homebrew自体のアンインストール

この記事では、パッケージ管理システムであ…

2か月 ago

【Python】MeCab(めかぶ)を使って形態素解析する

この記事では、Pythonで「MeCab…

2か月 ago

【Python】pytubeを使ってYouTubeの動画をダウンロードする

この記事ではpytubeを使ってYouT…

2か月 ago

【Python】Icrawlerを使って画像を大量にダウンロードする

この記事では、Icrawlerを使って画…

2か月 ago

【Python】Seleniumを使ってWebブラウザを自動化する

この記事では、Seleniumを使ってW…

2か月 ago