どん底から這い上がるまでの記録

どん底から這い上がりたいけど這い上がれない人がいろいろ書くブログ(主にプログラミング)

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])