前置き
今日は、ユーザが年月日を入力したら、その曜日が日英両方で出力されるプログラムコードをPythonで作りました。1週間は月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日の7日間あります。英語では、Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sundayの7日間で、1週間は成り立っている。
プログラムコード
import datetime
# 曜日の日本語名と英語名のリスト
WEEKDAYS_JP = ['月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日']
WEEKDAYS_EN = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
def get_weekday(year, month, day):
try:
date = datetime.date(year, month, day)
weekday_index = date.weekday()
weekday_jp = WEEKDAYS_JP[weekday_index]
weekday_en = WEEKDAYS_EN[weekday_index]
return weekday_jp, weekday_en
except ValueError as e:
return str(e), str(e)
# ユーザー入力を受け取る
year = int(input("年を入力してください(例: 2024):"))
month = int(input("月を入力してください(例: 7):"))
day = int(input("日を入力してください(例: 2):"))
weekday_jp, weekday_en = get_weekday(year, month, day)
if "day is out of range" in weekday_jp:
print("入力された日付が無効です。")
else:
print(f"{year}年{month}月{day}日は {weekday_jp} ({weekday_en}) です。")
プログラムコードの説明
このプログラムでは、ユーザーが年、月、日を入力すると、その日付の曜日を日本語と英語両方で出力します。入力された日付が無効な場合はエラーメッセージが表示されます。
出力結果
年を入力してください(例: 2024):2009
月を入力してください(例: 7):12
日を入力してください(例: 2):18
2009年12月18日は 金曜日 (Friday) です。
年を入力してください(例: 2024):2017
月を入力してください(例: 7):2
日を入力してください(例: 2):7
2017年2月7日は 火曜日 (Tuesday) です。
年を入力してください(例: 2024):2022
月を入力してください(例: 7):8
日を入力してください(例: 2):14
2022年8月14日は 日曜日 (Sunday) です。
年を入力してください(例: 2024):1900
月を入力してください(例: 7):12
日を入力してください(例: 2):22
1900年12月22日は 土曜日 (Saturday) です。
年を入力してください(例: 2024):1976
月を入力してください(例: 7):6
日を入力してください(例: 2):28
1976年6月28日は 月曜日 (Monday) です。
出力したこの5つの年月日が本当に正しいかどうか検証してみました。
引用元:https://keisan.casio.jp/exec/system/1177638326
このように、実際に2009年12月18日は金曜日、2017年2月7日は火曜日、2022年8月14日は日曜日、1900年12月22日は土曜日、1976年6月28日は月曜日となっており、曜日が一致しています。
皆さんも時間がある時に、このプログラムコードを参考にして、年月日の曜日を確認してみてはいかがでしょうか。