本記事(記事カラム)には広告が含まれています。

年月を入力して12日を含む週の金曜日が何日かを表示する|Python 練習 18-1

ハッシュタグバナー
「#fxなぜ勝てない」人気ブログランキング「#FXで勝てない人」人気ブログランキング「#FXで負けている人」人気ブログランキング「#FXで損切できない人」人気ブログランキング
PythonPython練習
記事内に広告が含まれています。

tkinter で 年月を入力して12日を含む週の金曜日が何日かを表示します。

DMM FX広告(差し込みタイプ)
広告(PR)|自分の投資スタイルを見つける。※タップで開閉
広告(PR)

DMM FXは、「最初の一歩を踏み出す場」として選ばれることがある

口座を開いてみた。取引してみた。思ったよりも難しかった。──そんな経験が、投資との距離感を知るきっかけになることもあります。


サービスを通じて、自分の投資スタイルを見つける。それは、確信ではなくても構いません。「試してみた」という実感が、次の選択の材料になることもあるからです。


DMM FXに関する詳細は、以下の広告(PR)リンクをご覧いただけます。


👇こちらは広告(PR)リンクバナーです

DMMFX

AI新時代の検証環境へ
広告(PR)|AI新時代の検証環境へ ※タップで開閉

実際に書いたコード

【試してみる際のお願い】

  • プログラミングは、お使いのパソコンの環境(OSやアプリのバージョン)によって、同じコードでもエラーが出るケースがよくあります。
  • 外部での実行や利用を想定して作られていないため、万が一、動作を試されたことにより不具合等の損害が生じても、当方は一切の責任を負いかねます。
  • 自分用のメモにつき、質問やバグ修正などの個別サポートは一切行っておりません。試す場合は完全な自己責任でお願いいたします。
# 年月を入力して12日を含む週の金曜日が何日かを表示する
import tkinter as tk
from datetime import datetime


def show_day():
    year = year_entry.get()
    month = month_entry.get()
    day = "12"

    # 入力が数字がどうかチェック
    if not (year.isdigit() and month.isdigit() and day.isdigit()):
        result_label.config(text="数字を入力してください")
        return

    try:
        y = int(year)
        m = int(month)
        d = int(day)
        dt = datetime(y, m, d)
    except ValueError:
        result_label.config(text="存在しない年月です")
        return

    # 12日を含む週の金曜日が何日かを計算
    weekday_sunday0 = (dt.weekday() + 1) % 7  # 日曜日=0 に変換
    friday = d + 5 - weekday_sunday0
    result_label.config(text=f"{friday}日")


# --- GUI構築 ---
root = tk.Tk()
root.title("12日を含む週の金曜日が何日かを表示")
root.geometry("600x200")

tk.Label(root, text="年").pack()
year_entry = tk.Entry(root)
year_entry.pack()

tk.Label(root, text="月").pack()
month_entry = tk.Entry(root)
month_entry.pack()

tk.Button(root, text="12日を含む週の金曜日が何日かを表示", command=show_day).pack()

result_label = tk.Label(root, text="")
result_label.pack()

root.mainloop()

解説

weekday_sunday0 = (dt.weekday() + 1) % 7  # 日曜日=0 に変換

dt.weekday() は 月曜=0〜日曜=6 の番号を返します。

「週の基準を日曜=0」にしたいので、 +1 して 7 で割った余りにすることで 日曜=0, 月曜=1, …, 土曜=6 に変換します。

friday = d + 5 - weekday_sunday0

「日曜=0」を基準にすると、 金曜は週の 5 番目(日曜0 → 金曜5)

実行結果

Auto Py to Exe で、Windowsのexeアプリ化して、実行。