便利に使おう! プログラミング!- 曜日を調べよう。
Pythonで曜日、自分の誕生日などの曜日を調べてみます。
上記参考にライブラリ"datetime "を使ったやり方で、少しシンプルにしています。
from datetime import *
year = input("年:")
month = input("月:")
day = input("日:")
week = ["月","火","水","木","金","土","日"]
inputDate = year + month + day
date = datetime. strptime(inputDate,"%Y%m%d")
print(year + "年" + month + "月"+ day + "日は" + week[date.weekday()] + "曜日です")
以下で入力で受けた文字列を "datetime.strptime"で数字に変換します。
date = datetime.strptime(input_date,'%Y/%m/%d')
曜日を調べます。
week[date.weekday()]
datetimeオブジェクトのweekday()メソッドで、月曜日が0で日曜日が6の整数値が得られるので
week = ["月","火","水","木","金","土","日"]
から曜日を抽出します。
そして、ツエラーの公式です。この公式を使ったものを作っていきます。
一度で答えが出るように変形しています。
year = 1970
month = 7
day = 24
if month <= 2:
year -= 1
month += 12
w = day + int((13 * month + 8) / 5) + year + int(year / 4) - int(year / 100) + int(year / 400)
x = w % 7
ws = ["日", "月", "日", "水", "木", "金", "土"]
print(ws[x] + "曜日")
1月・2月はそれぞれ前年13月・14月として計算するので、その時の処理。
if month <= 2:
year -= 1
month += 10
そしてツエラーの公式に当てはめて、
w = day + int((13 * month - 1) / 5) + year + int(year / 4) - int(year / 100) + int(year / 400)
曜日を抽出します。
ws = ["日", "月", "日", "水", "木", "金", "土"]
そして最後に出力です。インデックスから曜日を求めます。
print(ws[x] + "曜日")
この記事が気に入ったらサポートをしてみませんか?