我有一个相当简单的应用程序的问题.它运行正常,但我希望它执行得慢一点.
我们的想法是从列表中随机生成一个名称,显示它,然后在每次单击一个按钮时将其从列表中删除.
为了使它更有趣,我希望程序在选择最后一个之前显示几个名称.我为此使用了一个简单的for循环.但是,代码执行得如此之快,最后显示的唯一名称是最后一个.
time.sleep()仅使用延迟显示姓氏.没有显示其他名称.
这是我的代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from tkinter import *
import random
import time
class Application(Frame):
def __init__(self, master):
""" Initialize the frame. """
super(Application, self).__init__(master)
self.grid()
self.name_list = ["Thorin","Tyler","Jose","Bryson","Joe"]
self.create_widget()
def create_widget(self):
self.lbl = Label(self)
self.lbl["text"] = "Click to spin"
self.lbl["font"] = ("Arial", 24)
self.lbl.grid()
self.bttn = Button(self)
self.bttn["text"]= "Spin"
self.bttn["command"] = self.spin
self.bttn.grid()
def spin(self):
if self.name_list:
for i in range(5):
index = random.randrange(len(self.name_list))
self.lbl["text"] = self.name_list[index]
self.lbl.grid()
self.name_list.pop(index)
else:
self.lbl["text"] …Run Code Online (Sandbox Code Playgroud)