有没有一种方法可以在一个函数中声明两个返回值?

时间:2020-04-21 19:38:38

标签: python-3.x function for-loop return-value

Code 1:
total = 0
tot = 0

for i in range(0, 101):
    if i % 2:
        total += i
    elif i % 5:
        tot += i
print(total)
print(tot)

output:
2500
2000
Code 2:
total = 0
tot = 0
def function():
    for i in range(0, 101):
        if i % 2:
            total += i
        elif i % 5:
            tot += i
    return(total)
    return(tot)
a = function()
print(a)

output:
UnboundLocalError: local variable 'total' referenced before assignment

我想将第一个代码作为一个函数(就像我在代码2中尝试过的那样)

问题1:是否可以在一个函数中使用两个返回值?

问题2:如果没有,还有其他方法可以使代码2正常工作吗?

谢谢您的时间!

(抱歉,我的提问方式不合适,因为我正试图熟悉Stack Overflow)

1 个答案:

答案 0 :(得分:0)

您可以通过return total, tot进行操作。这是一个示例:

total = 0
tot = 0

def function():
    global total
    global tot
    for i in range(0, 101):
        if i % 2:
            total += i
        elif i % 5:
            tot += i
    return total, tot

a = function()
print(a)

这将为您提供(2500, 2000)