paiza レベルアップ問題集 日付セット「月の日数 Python3編」解答例

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

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

#うるう年の判定

'''
・西暦が4で割り切れる年は閏年
・ただし、100で割り切れる年は平年
・ただし、400で割り切れる年は閏年
・西暦が4で割り切れない年は平年
'''

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

if year%4 == 0:
    if year%400 == 0:
        uruu = True
    elif year%100 == 0:
        uruu = False
    else:
        uruu = True
else:
    uruu = False



#通常判定
'''
・4, 6, 9, 11月は30日
・2月は閏年ならば29日、そうでなければ28日
・それ以外の月は31日
'''

if (month == 4) or (month == 6) or (month == 9) or (month == 11):
    print(30)
elif (month == 2 and uruu == False):
    print(28)
elif (month == 2 and uruu == True):
    print(29)
else:
    print(31)

考えたら解答例コードをpaizaさんが提供してくださっているんだから
あまりここで公開する意味はないかも。


paizaさんの解答例はさすがにすっきりしていて美しい。なるほど~

n, m = map(int, input().split())

data = [4, 6, 9, 11]

if m in data:
    print(30)
elif m == 2:
    flag = True

    if n % 4 != 0:
        flag = False
    elif n % 400 == 0:
        flag = True
    elif n % 100 == 0:
        flag = False
    else:
        flag = True

    if flag:
        print(29)
    else:
        print(28)
else:
    print(31)

pythonではtrue/falseをTrue/Falseと最初大文字で記述するんですね。

paiza レベルアップ問題集

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

コメントを残す

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