用Python的tkinter实现:假如屏幕上出现了一个人名,点击‘加分’按钮,就可以给这个人加分,加分的数据储存在一个.txt格式的记事本里
时间: 2024-02-13 14:00:34 浏览: 28
好的,以下是实现该功能的代码:
```python
import tkinter as tk
class AddScoreApp:
def __init__(self):
self.name = "" # 存储人名
self.score = 0 # 存储分数
self.filepath = "scores.txt" # 存储分数的文件路径
self.load_scores() # 读取之前的分数记录
self.root = tk.Tk()
self.root.title("加分")
self.root.geometry("300x150")
self.name_label = tk.Label(self.root, text="人名:")
self.name_label.pack()
self.name_entry = tk.Entry(self.root)
self.name_entry.pack()
self.score_label = tk.Label(self.root, text="分数:" + str(self.score))
self.score_label.pack()
self.add_button = tk.Button(self.root, text="加分", command=self.add_score)
self.add_button.pack()
self.root.mainloop()
def add_score(self):
self.name = self.name_entry.get() # 获取人名
if self.name != "":
self.score += 1 # 加1分
self.score_label.config(text="分数:" + str(self.score)) # 更新分数显示
self.save_scores() # 保存分数记录
else:
tk.messagebox.showerror("错误", "请输入人名!")
def load_scores(self):
try:
with open(self.filepath, "r") as f:
lines = f.readlines()
for line in lines:
name, score = line.strip().split(",")
if name == self.name:
self.score = int(score)
self.score_label.config(text="分数:" + str(self.score)) # 更新分数显示
except FileNotFoundError:
pass
def save_scores(self):
with open(self.filepath, "a") as f:
f.write("{},{}\n".format(self.name, self.score))
if __name__ == "__main__":
app = AddScoreApp()
```
这个应用程序由一个 AddScoreApp 类组成,包含了一个输入框、一个标签、一个按钮和一个分数记录文件。用户在输入框中输入人名,然后点击按钮,就会给该人加1分,并将分数记录保存在文件中。如果用户输入了之前已经加过分的人名,那么程序会自动读取之前的分数记录,并在标签中显示出来。注意,这个程序只是一个简单的示例,实际应用中需要对输入进行更多的验证和处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)