You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:54:08