python语言,随机点名程序,在一个窗口中,姓名可以随机流动,点暂停则姓名流动截止
时间: 2023-10-02 10:13:58 浏览: 80
好的,可以使用Python的tkinter库来实现一个简单的窗口界面,然后使用random库来实现随机点名。
以下是一个简单的实现:
```python
import tkinter as tk
import random
class NamePicker:
def __init__(self, names):
self.names = names
self.root = tk.Tk()
self.label = tk.Label(self.root, text="", font=("Helvetica", 24))
self.label.pack(pady=20)
self.button = tk.Button(self.root, text="开始", command=self.pick_name)
self.button.pack(pady=10)
self.paused = False
self.root.bind("<space>", self.toggle_pause)
self.root.mainloop()
def pick_name(self):
if not self.paused:
name = random.choice(self.names)
self.label.config(text=name)
self.root.after(100, self.pick_name)
def toggle_pause(self, event):
self.paused = not self.paused
if self.paused:
self.button.config(text="继续")
else:
self.button.config(text="开始")
names = ["张三", "李四", "王五", "赵六", "钱七"]
picker = NamePicker(names)
```
这个程序首先定义了一个`NamePicker`类,它接受一个包含所有姓名的列表作为参数。在类的初始化方法中,它创建了一个tkinter窗口,并添加了一个标签和一个按钮。标签用于显示当前被选中的姓名,按钮用于开始和暂停随机选取。程序通过`after`方法在每100毫秒后调用`pick_name`方法,这个方法随机选择一个姓名并更新标签。当用户按下空格键时,程序会调用`toggle_pause`方法,暂停或继续随机选取。
你可以根据自己的需求修改这个程序,比如更改窗口的大小和字体、添加更多的姓名等等。
阅读全文