在函数中为变量赋值,函数调用后变量未定义

Assigned value to variable in function, variable undefined after function call

我想做的是有一个函数来检查某些条件并根据条件为真分配一个值。但是函数内的变量赋值不影响外面的值。 (范围)

虽然下面的代码行不通,但有什么办法可以不用一遍又一遍地写 if-elif 块吗?

def calc():
    if o==1:
        z=x+y
    elif o==2:
        z=x-y

calc()
print(z)

这在计算机科学界被称为 scope ...并且您的作业超出了主程序 scope space

相反,您应该 return 值

def calc():
    if o==1:
        z=x+y
    elif o==2:
        z=x-y
    return z

y = calc()
print(y)