【问题标题】:Why does random keep selecting the same choice?为什么随机选择相同的选项?
【发布时间】: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


【解决方案1】:

删除

answer=random.choice(list) #choosing an answer

替换

    U.insert(0,answer)

与

    U.insert(0, random.choice(list))

【讨论】:

    猜你喜欢
    • 2011-09-05
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多