使用python写一个抽奖系统,可视化文件框输入社团名称,对社团进行排序,确定69个社团的排名,将其排名存入到soccer.txt中
时间: 2024-09-12 10:10:01 浏览: 28
要使用Python编写一个简单的抽奖系统,可以按照以下步骤进行:
1. 导入必要的库,如`tkinter`用于图形界面,`os`用于文件操作。
2. 创建一个GUI界面,使用`tkinter`模块中的组件来实现输入框和按钮。
3. 通过输入框获取用户输入的社团名称。
4. 将社团名称收集到一个列表中,并实现一个排序算法(如冒泡排序、快速排序等)来对社团名称进行排序。
5. 将排序后的社团名称写入到名为`soccer.txt`的文本文件中。
下面是一个简单的抽奖系统代码示例:
```python
import tkinter as tk
from tkinter import filedialog
def save_to_file(names):
with open('soccer.txt', 'w') as file:
for name in names:
file.write(name + '\n')
def sort_and_save():
# 获取用户输入的社团名称
soccers = [entry.get() for entry in entry_vars]
# 排序社团名称,这里使用简单的冒泡排序
for i in range(len(soccers) - 1):
for j in range(len(soccers) - i - 1):
if soccers[j] > soccers[j + 1]:
soccers[j], soccers[j + 1] = soccers[j + 1], soccers[j]
# 将排序后的社团名称保存到文件
save_to_file(soccers)
result_label.config(text="社团排序已保存到文件")
# 创建主窗口
root = tk.Tk()
root.title("抽奖系统")
# 创建输入框和标签
entry_frame = tk.Frame(root)
entry_frame.pack(pady=20)
entry_labels = [tk.Label(entry_frame, text=f"社团{i+1}:") for i in range(69)]
entry_vars = []
for i in range(69):
entry_label = entry_labels[i]
entry_var = tk.StringVar()
entry = tk.Entry(entry_frame, textvariable=entry_var, width=30)
entry.grid(row=i, column=1)
entry_label.grid(row=i, column=0)
entry_vars.append(entry_var)
# 创建保存按钮
save_button = tk.Button(root, text="排序并保存社团名称", command=sort_and_save)
save_button.pack(pady=10)
# 创建结果标签
result_label = tk.Label(root, text="")
result_label.pack()
# 运行主循环
root.mainloop()
```
在运行这段代码之前,请确保你的Python环境已经安装了`tkinter`库。这段代码会创建一个包含69个输入框的窗口,用户可以输入社团名称。点击“排序并保存社团名称”按钮后,程序会将输入的社团名称排序并保存到`soccer.txt`文件中。
阅读全文