paiza レベルアップ問題集 日付セット「西暦の和暦変換 Python3編」解答例

python3の勉強をはじめました。
惰性で変数に$をつけるわ末尾に;をつけるわで
習慣って凄い。

python3なら解答例が全部あるのも笑ったけど
解答例が全然自分と発想が違うのも面白いですね。

# coding: utf-8
# 自分の得意な言語で
# Let's チャレンジ!!

'''
・明治は1912年7月29日まで
・大正は1912年7月30日から1926年12月24日まで
・昭和は1926年12月25日から1989年1月7日まで
・平成は1989年1月8日から2019年4月30日まで
・令和は2019年5月1日から
'''


s = input().rstrip().split(' ')
#print("hello = "+s[0]+" , world = "+s[1])

year = int(s[0])
month = int(s[1])
day = int(s[2])

#とりあえず点数化しましょう
hoge = year*10000 + month*100+ day
#print(hoge)

if hoge <= 19120729:
    wareki = "明治"
    year = year - 1900 + 33
    
elif hoge <= 19261224:
    wareki = "大正"
    year = year - 1911
    
elif hoge <= 19890107:
    wareki = "昭和"
    year = year - 1925
    
elif hoge <= 20190430:
    wareki = "平成"
    year = year - 1988
    
else:
    wareki = "令和"
    year = year - 2018

print(wareki +"年"+str(month)+"月"+str(day)+"日")

問題読んだ瞬間にこんなの点数化しようと思いました。

あとこういう記述法があるとは知らなかった。(解答例コードより)

elif y == 1912:
    if (m < 7) or (m == 7 and d < 30):
        print(f"明治年{m}月{d}日")

なんだろうこの冒頭のf

paiza レベルアップ問題集(python3)

https://paiza.jp/works/mondai/dateset/problem_index?language_uid=python3
0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です