# 8 第2章理解度チェック

|

 増井 敏克著「Pythonではじめるアルゴリズム入門 伝統的なアルゴリズムで学ぶ定石と計算量」で勉強しています。

 もう半年も前になりますが、2章を終えたので理解度チェックの問題を解いていきます。

 Google Colaboratoryでやってます。


問題1

 1950年から2050年までの間にある「うるう年」を出力するプログラムを作成してください。なお、うるう年は次の条件で判定できます。

  • 4で割り切れる年はうるう年
  • ただし、100で割り切れて400で割り切れない年はうるう年ではない(例えば2019は4で割り切れないため、うるう年ではない。2020は4で割り切れ、100では割り切れて400で割り切れるのでうるう年。)
for i in range(1950,2050):
if i % 4 == 0:
if i % 100 == 0 and i % 400 != 0:
pass
else:
print(str(i) + "年はうるう年です")
問題2

 西暦の年が引数で与えられたとき、元号に変換して出力する関数を作成してください。

 与えられる西暦の年は1869以上2020以下に対応するものとします。

 なお、昭和64年平成1年、平成31年令和1年のように、同じ年に複数の元号が考えられる場合は、後の元号で出力するものとします。例えば、2000が引数で与えられたとき、出力は「平成12年」となります。


def gengou(year):
if year < 1868:
return ""
elif year < 1912:
return "明治" + str(year-1867) + "年"
elif year < 1926:
return "大正" + str(year-1911) + "年"
elif year < 1989:
return "昭和" + str(year-1925) + "年"
elif year < 2019:
return "平成" + str(year-1988) + "年"
else:
return "令和" + str(year-2018) + "年"
print(gengou(1868))
コメント0

お気に入りに追加しました お気に入りから削除しました