如何将定义为(Entry.get())的变量从一个函数传递到另一个函数?

2024-10-03 23:24:08 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将(Answer)变量从creatLabels函数传递到check函数

def createLabels(Ques):

    AnswerINP = Entry(root)

    AnswerINP.grid(column=3, sticky=W )

    Answer = AnswerINP.get() 

    Checkbutton = tk.Button(root, text="CHECK", command= check)

    Checkbutton.grid()


def check ():

       r=requests.get('https://opentdb.com/api.phpamount='+TextINP1.get()+'&difficul)
        res = r.json ()

        for data in res ['results']:

                if Answer.title()== data["correct_answer"]:

                        print("Correct")

当我用这种方式写的时候,变量的答案是没有定义的


Tags: 函数answerdatagetdefcheckresroot
1条回答
网友
1楼 · 发布于 2024-10-03 23:24:08

可以使用Lambda Expression将变量传递给check函数。Lambda表达式基本上是一行匿名(未命名)函数

为此,只需将Checkbuttons命令选项更改为lambda表达式,并将参数添加到check()函数中,如下所示:

def createLabels(Ques):
    AnswerINP = Entry(root)
    AnswerINP.grid(column=3, sticky=W )
    Answer = AnswerINP.get() 

    Checkbutton = tk.Button(root, text="CHECK", command=lambda a=Answer: check(a))

    Checkbutton.grid()

def check (answer):
    ...

这会给你想要的结果

相关问题 更多 >