python语言,随机点名程序,在一个窗口中,姓名可以随机流动,有一个暂停按钮,点则姓名流动截止,并显示一个随机的姓名
时间: 2023-10-11 16:05:28 浏览: 114
下面是一个简单的Python程序,可以实现你想要的随机点名功能:
```python
import tkinter as tk
import random
class RandomNameGenerator:
def __init__(self, names):
self.names = names
self.current_name = None
self.is_running = False
def start(self):
self.is_running = True
self.show_next_name()
def stop(self):
self.is_running = False
def show_next_name(self):
if self.is_running:
name = random.choice(self.names)
self.current_name = name
self.label.config(text=name)
self.window.after(100, self.show_next_name)
def show_random_name(self):
name = random.choice(self.names)
self.current_name = name
self.label.config(text=name)
def create_window(self):
self.window = tk.Tk()
self.window.title("随机点名程序")
self.label = tk.Label(self.window, text="")
self.label.pack()
self.button = tk.Button(self.window, text="暂停", command=self.stop)
self.button.pack()
self.random_button = tk.Button(self.window, text="随机", command=self.show_random_name)
self.random_button.pack()
self.start()
self.window.mainloop()
names = ["张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"]
generator = RandomNameGenerator(names)
generator.create_window()
```
这个程序使用了Python的GUI库`tkinter`,实现了一个简单的窗口,其中有一个标签用于显示当前随机到的姓名,一个“暂停”按钮用于停止姓名的随机流动,以及一个“随机”按钮用于随机显示一个姓名。
程序中创建了一个`RandomNameGenerator`类,用于管理姓名的随机流动和显示。在程序开始时,会创建一个`RandomNameGenerator`对象,并把所有的姓名传入。然后调用`create_window`方法,创建窗口并开始随机流动姓名。程序每隔100毫秒随机选择一个姓名,并把它显示在标签上。如果用户点击了“暂停”按钮,则姓名的随机流动会停止,但是当前随机到的姓名仍然会显示在标签上。如果用户点击了“随机”按钮,则会随机显示一个姓名,但是姓名的随机流动不会继续。
阅读全文