0337: Japanese Calendar

 

日本の暦

問題ページ①

問題ページ②

解き方

与えられる暦の種類から西暦または和暦に変換する。

ちなみに、日本の暦は以下の通り。

  • 明治時代 (1868年 ~ 1912年)
  • 大正時代 (1912年 ~ 1926年)
  • 昭和時代 (1926年 ~ 1989年)
  • 平成時代 (1989年 ~ 2019年)

コードの説明

与えられる暦の種類からどの関数に年を与えられるのかを決めて、変換結果を返す。

今回はf記法を使って出力文を作っている。(※f記法についてはこちら。)

ソースコードpython

def jp(Y):
    if Y > 1988:
        return f"H{Y-1988}"
    elif Y > 1925:
        return f"S{Y-1925}"
    elif Y > 1911:
        return f"T{Y-1911}"
    elif Y > 1911:
        return f"T{Y-1911}"
    else:
        return f"M{Y-1867}"

def meiji(Y):
    return f"{1867+Y}"

def taisho(Y):
    return f"{1911+Y}"

def syowa(Y):
    return f"{1925+Y}"

def heisei(Y):
    return f"{1988+Y}"

E, Y = map(int, input().split())
print([jp(Y), meiji(Y), taisho(Y), syowa(Y), heisei(Y)][E])