当前位置: 首页 > news >正文

python 写一个工作 简单 番茄钟

1、图

 2、需求

番茄钟(Pomodoro Technique)是一种时间管理方法,由弗朗西斯科·西里洛(Francesco Cirillo)在 20 世纪 80 年代创立。“Pomodoro”在意大利语中意为“番茄”,这个名字来源于西里洛最初使用的一个形似番茄的厨房定时器。

该方法的基本理念是将工作时间划分为固定长度的“工作时段”和“休息时段”。通常,一个完整的番茄钟周期包括 25 分钟的工作时间和 5 分钟的休息时间。每完成四个番茄钟周期后,可以进行一次较长时间的休息,比如 15 - 30 分钟。

使用番茄钟的步骤如下:

1. 选择一个待完成的任务。
2. 将番茄钟设定为 25 分钟,开始专注工作。
3. 直到番茄钟响起,在纸上画一个 X 进行记录。
4. 休息 5 分钟。
5. 每完成 4 个番茄钟,进行一次 15 - 30 分钟的长时间休息。
这种时间管理方法有助于提高工作效率,减少拖延,同时也能让大脑得到适当的休息,避免过度疲劳。

 3、代码:

import tkinter as tk
import time
import winsound# 定义番茄钟的时间(单位:分钟)
WORK_TIME = 25
BREAK_TIME = 15
LONG_BREAK_TIME = 20  # 长时间休息时间,可在 15 - 30 分钟间调整
POMODORO_COUNT_FOR_LONG_BREAK = 4class PomodoroScreensaver:def __init__(self, root):self.root = rootself.root.attributes('-fullscreen', True)self.root.configure(bg='black')self.root.bind('<Escape>', self.quit_screensaver)self.time_left = WORK_TIME * 60self.is_working = Trueself.pomodoro_count = 0self.label = tk.Label(root, text=self.format_time(self.time_left), font=('Helvetica', 100), fg='white', bg='black')self.label.pack(expand=True)self.update_clock()def format_time(self, seconds):minutes = seconds // 60remaining_seconds = seconds % 60return f'{minutes:02d}:{remaining_seconds:02d}'def update_clock(self):if self.time_left > 0:self.time_left -= 1self.label.config(text=self.format_time(self.time_left))# 根据工作状态更新字体颜色if self.is_working:self.label.config(fg='red')else:self.label.config(fg='green')self.root.after(1000, self.update_clock)else:if self.is_working:self.pomodoro_count += 1winsound.Beep(2000, 1000)if self.pomodoro_count % POMODORO_COUNT_FOR_LONG_BREAK == 0:self.time_left = LONG_BREAK_TIME * 60else:self.time_left = BREAK_TIME * 60self.is_working = Falseelse:winsound.Beep(2000, 1000)self.time_left = WORK_TIME * 60self.is_working = True# 切换状态后更新字体颜色if self.is_working:self.label.config(fg='red')else:self.label.config(fg='green')self.update_clock()def quit_screensaver(self, event=None):self.root.destroy()if __name__ == "__main__":root = tk.Tk()app = PomodoroScreensaver(root)root.mainloop()

注:字体变色 工作红色  休息 绿色  过度有响声

相关文章:

  • Apache Ranger 2.2.0 编译
  • 补补表面粗糙度的相关知识(一)
  • 【网络安全】——大端序(Big-Endian)​​和​​小端序(Little-Endian)
  • MyBatis进阶:掌握动态SQL,实现灵活的数据库查询
  • Oracle Goldengate并行复制进程状态查看没有transaction信息
  • SAP学习笔记 - 开发08 - Eclipse连接到 BTP Cockpit实例
  • 03.three官方示例+编辑器+AI快速学习webgl_animation_multiple
  • k8s中ingress-nginx介绍
  • 【C/C++】跟我一起学_C++同步机制效率对比与优化策略
  • MySql(基础)
  • Go语言标识符
  • 支持向量机与逻辑回归的区别及 SVM 在图像分类中的应用
  • 【时时三省】(C语言基础)字符数组
  • Transformer Decoder-Only 参数量计算
  • ESP32-S3 学习笔记(1)
  • RabbitMQ概念详解
  • RagFlow 完全指南(一):从零搭建开源大模型应用平台(Ollama、VLLM本地模型接入实战)
  • 零基础玩转sqlmap - 从入门到摸清数据库
  • 力扣70题解
  • Vue3入门(1)简单的用户列表页
  • 在笔墨金石间,看胡问遂与梅舒适的艺术对话
  • 筑牢安全防线、提升应急避难能力水平,5项国家标准发布
  • 中美是否计划讨论美方以芬太尼为由对华征收的特别关税?外交部回应
  • 中国科学院院士徐春明不再担任山东石油化工学院校长
  • 十大券商看后市|A股中枢有望逐步震荡抬升,把握结构性行情
  • 快评|印巴为何停火?已达成“一场胜利,各自表述”的效果