日付セット「次の日 / 翌営業日 / 日付のフォーマット / 年月日の順序 Python3編」回答

翌営業日は他の問題で使うので保存。

翌営業日

# coding: utf-8
# Your code here!
'''
"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"
'''
s = input().split( )
m = int(s[0])
d = int(s[1])
w = str(s[2])

if (m==2):
    md = 28
elif m==4 or m==6 or m==9 or m==11:
    md = 30
else :
    md = 31
    
    
if w=="SUN":
    n=1
elif w=="SAT":
    n=2
elif w=="FRI":
    n=3
else :
    n=1

#day
if d+n > md :
    res_d = d+n-md
    res_m = m+1
else :
    res_d = d+n
    res_m = m
#month
if res_m > 12:
    res_m = res_m - 12

    
print(str(res_m)+"月"+str(res_d)+"日")

次の日

# coding: utf-8
# Your code here!
'''
ただし、各月の日数は以下のように決まることに注意してください。
・4, 6, 9, 11月は30日
・2月は閏年ならば29日、そうでなければ28日
・それ以外の月は31日
ただし、閏年は次のような年のことをいいます。
・西暦が4で割り切れる年は閏年
・ただし、100で割り切れる年は平年
・ただし、400で割り切れる年は閏年
'''
s = input().split( )
y = int(s[0])
m = int(s[1])
d = int(s[2])
uru=0

if y%400 ==0 :
    uru = 1
elif (y%4==0) and (y%100 != 0):
    uru = 1

if (m==2)and(uru==1):
    md = 29
elif (m==2)and(uru!=1):
    md = 28
elif m==4 or m==6 or m==9 or m==11:
    md = 30
else :
    md = 31
#day
if d+1 > md :
    res_d = d+1-md
    res_m = m+1
else :
    res_d = d+1
    res_m = m
#month
if res_m > 12:
    res_m = res_m - 12
    res_y = y + 1
else :
    res_y = y
    
print(str(res_y)+" "+str(res_m)+" "+str(res_d))


阿保みたいに落っこちた「日付のフォーマット

# coding: utf-8
# Your code here!
line = input().split("/")
#print(line)

#str.isdecimal()

if ( len(line)==3 and 
         line[0].isdecimal() and 
         line[1].isdecimal() and 
         line[2].isdecimal() and
         int(line[1])<=12 and
         int(line[2])<=31 and
         int(line[1])>=1 and
         int(line[2])>=1 and
         len(line[0])==4 and 
         len(line[1])==2 and 
         len(line[2])==2 ):
    print("Yes")
else:
    print("No")

年月日の順序
デバッグできなくて何回もやり直しした。

line = input().split("/")
res = ["","",""]
#print(res)
y=0
m=0
d=0
Error = False
for i in line:
    if len(str(i))==4 and int(i)>0:
        res[line.index(i)] = "YYYY"
        y += 1
    else :
        if int(i)>31 or int(i)<=0:
            Error = True
        elif int(i)>12 and int(i)<=31:
            d +=1
            res[line.index(i)] = "DD"
        else :
            res[line.index(i)] = "MM"

#結果の出力
if y!=1 or d >=2 or Error:
    print("no answer")
elif d==1 :
    print(res[0]+"/"+res[1]+"/"+res[2])
else :
    print("many answers")