日付セット「次の日 / 翌営業日 / 日付のフォーマット / 年月日の順序 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")