首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将定义为(Entry.get())的变量从一个函数传递到另一个函数?

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

Stack Overflow用户
提问于 2019-05-26 09:26:36
回答 1查看 43关注 0票数 1

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

代码语言:javascript
复制
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")

当我以这种方式编写变量时,我得到的结果是变量答案没有定义

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-26 21:39:20

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

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

代码语言:javascript
复制
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):
    ...

这应该会给你想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56309975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档