前提
ここに質問の内容を詳しく書いてください。
Pythonでツェラーの公式を使い2022年1月の曜日を求めたいのですが、結果が2022としか表示されません。どうすればいいでしょうか
該当のソースコード
Python
1def mae(y): 2 y1 = int(y / 100) 3 return(y1) 4 5def ushiro(y): 6 y1 = mae(y) 7 y2 = y - y1 * 100 8 return(y2) 9 10def floor(x): 11 y = x - int(x) 12 if x >= 0: 13 kotae = int(x) 14 elif y == 0: 15 kotae = x 16 else: 17 kotae = int(x) - 1 18 return(kotae) 19 20def g(y1): 21 kotae = -2 * y1 + floor(y1 / 4) 22 return(kotae) 23 24def h(m,y2,g): 25 kotae = (1 + floor(26 * (m + 1) / 10) + y2 + floor(y2 / 4) + g)%7 26 return(kotae) 27 28y = input("2022") 29y = int(y) 30m = input("1") 31m = int(m) 32 33y1 = mae(y) 34y2 = ushiro(y) 35 36g = g(y1) 37h = h(m,y2,g) 38 39print(h) 40
手元の環境(Python 3.10.4)で実行してみると、5 と表示されます。
こちら3.10.1だと2022のみです。
2022 と表示されているのは、y = input("2022") としているからではないでしょうか。
y = input("year = ")
y = int(y)
m = input("month = ")
m = int(m)
に変更して実行、2022 と 1 を入力してください。
year = としか表示されませんでした
year = が表示されている時点で 2022 と打ち込んで Enter キーを押してください。
>719236260906さん
自分で書いたコードの使い方を他人に聞くのはなぜですか。
input()はどのような目的で書いたのでしょうか。
ありがとうございます。無事5と出ました。
こちらのコードの前に['日', '月', '火', '水', '木', '金', '土']を挿入するということでいいでしょうか
その通りです、、と言いたい所ですが、2022年1月1日は土曜日です。月曜日から数え始めるのではないでしょうか。
