質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

受付中

pythonでの二つの年月日の日数の差と二つ目に書かれた年月日の曜日を出力するプログラム作成

k.lolo
k.lolo

総合スコア3

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

2回答

0評価

0クリップ

256閲覧

投稿2022/05/23 11:37

編集2022/05/24 00:22

二つの年月日の日数の差と二つ目に書かれた年月日の曜日を出力するプログラムを組んでます(うるう年に関しては考えないこととします。)

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) コード

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

k.lolo

2022/05/23 12:02

閏年は考慮しないということでお願いいたします。 計算するところが間違えてるんだと思いますがどこが間違えてるかわかりません。お分かりになられる方いませんか?よろしくお願い致します。
Zuishin

2022/05/23 14:15 編集

まず日付を 0 年 1 月 0 日からの述べ日数に直します。(別に基準はこの日でなくてかまいません) 述べ日数が出れば、あとは単純に引き算すれば差が出ます。 曜日は、閏年を考慮しないのであれば述べ日数を 7 で割れば出ますが、実際の曜日とはずれるので、いつを何曜日にするかを決めなければいけません。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。