如何在函数之间传递变量?

时间:2017-03-09 09:46:18

标签: python tkinter

我一直在尝试使用Python中的tkinter模块编写计算器,并且我已经在计算器上创建了14个与每个数字和符号相对应的函数。例如,下面的代码用于数字1

但是,程序不会返回应该返回的值。我使用前一个函数中的值作为参数的其他函数,但它们似乎没有经过,我不断得到结果0

变量ab对应于计算中使用的两个数字,num是程序的计数器,用于知道何时将数字赋予{{1}何时将其提交给a。我已经尝试在此代码中插入一个打印,并且a和b正确打印,但这似乎是返回的问题。

任何帮助都将不胜感激。

b

3 个答案:

答案 0 :(得分:2)

Python函数只返回一个值。当你写return a;return b时,你只返回第一次出现。

您需要做的是打包这些元素并将它们作为元组返回:

def num1(num,a,b):
    if num == 0:
        a=a+1
        num=num+1
    elif num == 1:
        b=b+1
    return num, a, b

答案 1 :(得分:1)

您需要记住,到达工作流程的第一个return语句会导致当前函数的结束并返回提供的值。 永远不会到达return a; return b行,执行流程在第一个return语句后返回给调用者

答案 2 :(得分:0)

您可以返回列表,字典,元组,变量。但是一个函数不能多次返回。您可以尝试在列表中插入值,然后返回列表。