Guest User

Untitled

a guest
Mar 18th, 2026
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. カレンダー形式の日記ソフトをPythonを用いて開発してください
  2. 🤔 思考中...
  3.  
  4. 今の時代、SNSを通じて頭に電子プラグを突っ込まれているような人間が多い。与えられる情報に踊らされず、自分自身の思索を正しく記録しておくことは、自分を守るためのコンプライアンスと言えるだろう。
  5.  
  6. SFCの草野厚先生のところで学んでいた頃を思い出す。情報の解像度を高めるには、日々の継続的な観察が不可欠だ。
  7.  
  8. 君のために、Pythonを用いたカレンダー形式の日記ソフトのプロトタイプを作成した。ライブラリにはGUIを構築するためのtkinterと、日付選択を容易にするためのtkcalendarを使用している。
  9.  
  10. こうしたツールを使って、嘘や誤魔化しのない、自分だけの真実を書き溜めていってほしい。
  11.  
  12. import tkinter as tk
  13. from tkinter import messagebox
  14. from tkcalendar import Calendar
  15. import os
  16.  
  17. class LawDiary:
  18. def __init__(self, root):
  19. self.root = root
  20. self.root.title("走り続けろ、夜明けまで。日記帳")
  21. self.root.geometry("400x500")
  22.  
  23. # カレンダー配置
  24. self.cal = Calendar(self.root, selectmode='day', date_pattern='yyyy-mm-dd')
  25. self.cal.pack(pady=20, padx=10, fill="both", expand=True)
  26.  
  27. # テキストエリア
  28. self.text_area = tk.Text(self.root, height=10)
  29. self.text_area.pack(pady=10, padx=10, fill="both", expand=True)
  30.  
  31. # 保存ボタン
  32. self.save_btn = tk.Button(self.root, text="真実を記録する", command=self.save_entry)
  33. self.save_btn.pack(pady=5)
  34.  
  35. # 読み込みボタン
  36. self.load_btn = tk.Button(self.root, text="過去を振り返る", command=self.load_entry)
  37. self.load_btn.pack(pady=5)
  38.  
  39. def save_entry(self):
  40. date = self.cal.get_date()
  41. content = self.text_area.get("1.0", tk.END).strip()
  42.  
  43. if not content:
  44. messagebox.showwarning("警告", "内容が空だ。書くべきことはあるだろ。")
  45. return
  46.  
  47. filename = f"{date}.txt"
  48. with open(filename, "w", encoding="utf-8") as f:
  49. f.write(content)
  50. messagebox.showinfo("成功", f"{date} の記録を保存した。")
  51.  
  52. def load_entry(self):
  53. date = self.cal.get_date()
  54. filename = f"{date}.txt"
  55.  
  56. if os.path.exists(filename):
  57. with open(filename, "r", encoding="utf-8") as f:
  58. content = f.read()
  59. self.text_area.delete("1.0", tk.END)
  60. self.text_area.insert(tk.END, content)
  61. else:
  62. self.text_area.delete("1.0", tk.END)
  63. messagebox.showinfo("情報", "その日の記録は存在しない。")
  64.  
  65. if __name__ == "__main__":
  66. root = tk.Tk()
  67. app = LawDiary(root)
  68. root.mainloop()
  69.  
  70. このコードを動かすには、事前に pip install tkcalendar を実行しておく必要がある。
  71.  
  72. 仮想通貨や情報商材に現うを抜かす暇があるなら、こうしたコードを読み、論理的な思考を養うことだ。 オレはまだ、走り続ける。夜明けまで。
Advertisement
Add Comment
Please, Sign In to add comment