【发布时间】:2017-12-03 18:18:54
【问题描述】:
我正在尝试编写一个向用户返回“是”或“否”的代码,但输出始终为“是”。
我应该改变或添加什么来改变答案?
from tkinter import *
from tkinter import ttk
import random
list=["yes", "no"] #a list of answers
answer=random.choice(list) #choosing an answer
root=Tk(className="yes or no")
lab=ttk.Label(root, text="what's your question" )
lab.pack()
#ask user for input
U=ttk.Entry(root)
U.pack()
def return_answer():
U.get()
U.delete(0, END)
U.insert(0,answer)
B1=ttk.Button(root, text="ok",command=return_answer)
B1.pack()
root.mainloop()
【问题讨论】:
-
你只做了一次随机选择,你期望什么时候改变?
-
当我问另一个问题时,答案仍然是肯定的
-
你是什么意思“当我问另一个问题时”?当您单击确定按钮时?这不会创建一个新的
random.choice。 -
answer指向 1 次调用random.choice的返回值,在这种情况下,它没有描述这样的调用。 -
好的,所以我应该创建一个函数,每次单击确定按钮时都会做出一个新的随机选择
标签: python python-3.x tkinter