python秒表计时器
时间: 2023-12-15 19:32:53 浏览: 28
以下是一个Python秒表计时器的例子:
```python
import time
print("Press ENTER to start the timer")
print("Press ENTER again to stop the timer")
while True:
try:
input() # 等待用户按下回车键
start_time = time.time()
print("Timer started")
break
except KeyboardInterrupt: # 用户按下Ctrl+C退出程序
print("Program terminated")
sys.exit()
while True:
try:
input() # 等待用户按下回车键
end_time = time.time()
print("Timer stopped")
break
except KeyboardInterrupt: # 用户按下Ctrl+C退出程序
print("Program terminated")
sys.exit()
elapsed_time = end_time - start_time
print("Elapsed time: {:.2f} seconds".format(elapsed_time))
```
相关问题
Python编写模拟秒表计时器的函数
可以使用Python的time模块来编写模拟秒表计时器的函数,以下是一个示例代码:
```python
import time
def stopwatch():
start_time = time.time()
while True:
elapsed_time = time.time() - start_time
mins, secs = divmod(elapsed_time, 60)
hours, mins = divmod(mins, 60)
print(f"{hours:02d}:{mins:02d}:{secs:02d}", end="\r")
time.sleep(1)
```
这个函数会一直运行,每秒钟输出当前的计时器时间,直到程序被手动停止。可以通过调用stopwatch()函数来启动计时器。
GUI设计秒表计时器
好的,可以使用Python和Tkinter库来实现一个简单的GUI秒表计时器。下面是一个示例代码:
``` python
import tkinter as tk
from datetime import datetime
class Stopwatch:
def __init__(self, master):
self.master = master
master.title("秒表计时器")
self.time_var = tk.StringVar()
self.time_var.set("00:00:00")
self.label = tk.Label(master, textvariable=self.time_var, font=("Arial", 36), width=8)
self.label.pack(pady=20)
self.start_button = tk.Button(master, text="开始", command=self.start)
self.start_button.pack(side=tk.LEFT, padx=10)
self.stop_button = tk.Button(master, text="停止", command=self.stop, state=tk.DISABLED)
self.stop_button.pack(side=tk.LEFT, padx=10)
self.reset_button = tk.Button(master, text="重置", command=self.reset, state=tk.DISABLED)
self.reset_button.pack(side=tk.LEFT, padx=10)
self.running = False
self.elapsed_time = 0
self.last_start_time = None
def start(self):
self.running = True
self.start_button.config(state=tk.DISABLED)
self.stop_button.config(state=tk.NORMAL)
self.reset_button.config(state=tk.DISABLED)
self.update_timer()
def stop(self):
self.running = False
self.start_button.config(state=tk.NORMAL)
self.stop_button.config(state=tk.DISABLED)
self.reset_button.config(state=tk.NORMAL)
def reset(self):
self.elapsed_time = 0
self.time_var.set("00:00:00")
self.start_button.config(state=tk.NORMAL)
self.stop_button.config(state=tk.DISABLED)
self.reset_button.config(state=tk.DISABLED)
def update_timer(self):
if self.running:
if self.last_start_time is None:
self.last_start_time = datetime.now()
else:
current_time = datetime.now()
self.elapsed_time += (current_time - self.last_start_time).total_seconds()
self.last_start_time = current_time
time_string = self.format_time(self.elapsed_time)
self.time_var.set(time_string)
self.master.after(100, self.update_timer)
def format_time(self, elapsed_time):
hours = int(elapsed_time // 3600)
minutes = int((elapsed_time % 3600) // 60)
seconds = int(elapsed_time % 60)
return "{:02d}:{:02d}:{:02d}".format(hours, minutes, seconds)
root = tk.Tk()
stopwatch = Stopwatch(root)
root.mainloop()
```
这段代码创建了一个名为“秒表计时器”的窗口,其中包含一个标签、一个开始按钮、一个停止按钮和一个重置按钮。当点击开始按钮时,计时器开始计时,标签上显示的时间会不断更新。当点击停止按钮时,计时器停止计时,标签上的时间不再更新。当点击重置按钮时,计时器重置为初始状态。
希望这个示例能够帮助你实现自己的GUI秒表计时器。