请你用python帮我写一个gui程序,要求从若干学生中随机抽取n个人,n由用户输入,并将抽到的人民输出并保存到txt文件中
时间: 2023-06-17 10:06:17 浏览: 27
好的,这里给你一个Python GUI程序的示例,使用tkinter库来实现:
```python
import tkinter as tk
import random
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
# 创建输入框和标签
self.num_label = tk.Label(self, text="输入抽取人数:")
self.num_label.pack()
self.num_entry = tk.Entry(self)
self.num_entry.pack()
# 创建抽取按钮
self.pick_button = tk.Button(self, text="抽取", command=self.pick_students)
self.pick_button.pack()
# 创建输出框和标签
self.result_label = tk.Label(self, text="抽取结果:")
self.result_label.pack()
self.result_text = tk.Text(self, height=10, width=30)
self.result_text.pack()
def pick_students(self):
# 读取输入的抽取人数
num = int(self.num_entry.get())
# 从列表中随机抽取n个学生
students = ['小明', '小红', '小刚', '小美', '小亮', '小华']
selected_students = random.sample(students, num)
# 输出抽取结果
self.result_text.delete(1.0, tk.END)
for student in selected_students:
self.result_text.insert(tk.END, student + "\n")
# 保存抽取结果到txt文件中
with open('抽取结果.txt', 'w') as f:
for student in selected_students:
f.write(student + "\n")
# 启动GUI程序
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
运行程序后,你可以输入要抽取的人数,然后点击“抽取”按钮,程序就会从列表中随机抽取n个学生,并将结果输出到程序界面和一个名为“抽取结果.txt”的文本文件中。
相关推荐
















