Python调用add函数后返回值addAns提示未定义该如何解决
问题解答
错误原因
addAns是在add函数内部定义的局部变量,仅在函数执行过程中有效,函数运行结束后局部变量会被销毁,全局作用域无法直接访问该变量- 调用
add函数时没有接收它的返回值,同时传入的参数addL也未在全局提前定义,也会触发未定义报错
修正方法
提前初始化需要传入的空列表addL,同时将add函数的返回值赋值给全局变量即可正常访问,修正后的代码如下:
def add (addL): c = 0 while c < 4: x = input("Type a number to add. " ) c += 1 addL.append(x) if x == "end": c += 5 addL.remove("end") addStep = [int(i) for i in addL] addAns = sum(addStep) return addAns userIn = input("What function would you like to perform? ") if userIn == 'add': addL = [] # 提前初始化传入的列表参数 addAns = add(addL) # 接收函数返回值赋值给全局变量 print(addAns)
内容的提问来源于stack exchange,提问作者caint
相关产品推荐
相关产品推荐

