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

Python将函数返回的多值传入另一函数时缺失参数报错如何解决

报错原因
  • getValues()执行后返回的是一个包含2个元素的元组,你直接将这个元组作为单个参数传入askQuestion函数时,函数只接收到了1个位置参数,缺少要求的第二个必填参数curA,因此触发类型错误。
修复方案

你可以任选以下任意一种方式修改调用代码即可解决报错:

  1. 对返回的元组做解包传参,在参数前加*即可自动将元组内的元素拆分作为独立参数传入:
askQuestion(*getValues())
  1. 先接收两个返回值再分别传参:
cur_q, cur_a = getValues()
askQuestion(cur_q, cur_a)
其他代码问题提示

你当前的askQuestion函数还存在两处隐性错误需要修正:

  • 函数内部input(question + ": ")使用的question变量未定义,应该替换为你接收的参数curQ
  • Python字符串是不可变类型,userA.upper()、userA.replace(" ", "")执行后不会修改原变量,需要重新赋值给userA才会生效,修正后的函数代码如下:
def askQuestion(curQ, curA):
    userA = input(curQ + ": ")
    userA = userA.upper()
    userA = userA.replace(" ", "")
    # 此处定义变量是因为参数无法直接传递
    answer.append('')
    # 返回标准答案和用户输入的答案
    return curA, userA

内容的提问来源于stack exchange,提问作者Joshua Richardson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:06:04