二つの年月日の日数の差と二つ目に書かれた年月日の曜日を出力するプログラムを組んでます(うるう年に関しては考えないこととします。)
19810101
20220523
と入力したときに(15107, 'Monday')と出力したいのですが、なぜか(15352, 'Sunday')と出力されてしまいます。どうしてでしょうか?よろしくお願いいたします。
(閏年は考慮しないということでお願いいたします。 計算するところが間違えてるんだと思いますがどこが間違えてるかわかりません。お分かりになられる方いませんか?よろしくお願い致します。)
year_month_day = input() year_month_day = int(year_month_day) today_year_month_day = input() today_year_month_day = int(today_year_month_day) def calc_daycount_and_dayofweek(year_month_day, today_year_month_day): month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30,31] day_week = ['Saturday', 'Friday', 'Tursday', 'Wednesday', 'Tuesday', 'Monday', 'Sunday'] quotient1 = year_month_day // 100 // 100 quotient2 = today_year_month_day // 100 //100 remainder1 = year_month_day % 100 remainder2 = remainder1 % 100 remainder3 = today_year_month_day % 100 remainder4 = remainder3 % 100 if quotient1 > quotient2: daycount = (quotient1 - quotient2) * 365 + (sum((month[:remainder2])) + remainder1) -1 elif quotient2 > quotient1: daycount = (quotient2 - quotient1) * 365 + (sum((month[:remainder4])) + remainder3) -1 dayofweek = day_week[- daycount % 7] return (daycount, dayofweek) def output_result(days_weeks): print(days_weeks) days_weeks = calc_daycount_and_dayofweek(year_month_day, today_year_month_day) output_result(days_weeks) コード