Python函数报错:economico()缺失carro和consumo参数的解决咨询
解决Python作业提交时的TypeError问题
问题核心
平台自带的main()函数仅调用entrada_carro()、entrada_consumo(),但未将这两个函数的返回值传递给economico(),导致触发TypeError: economico() missing 2 required positional arguments: 'carro' and 'consumo'错误。
修改方案
直接调整economico()函数,让它内部自行调用输入函数获取所需数据,不再依赖外部传参:
- 修改
economico()为无参函数
def economico(): # 内部获取车型和油耗数据 carro = entrada_carro() consumo = entrada_consumo() # 查找最低油耗对应的车型逻辑 min_consumo = min(consumo) min_index = consumo.index(min_consumo) return carro[min_index]
- 确保输入函数适配测试输入格式
如果你的entrada_carro()和entrada_consumo()还未适配单行输入(前半部分为车型,后半部分为对应油耗),可参考以下写法:
def entrada_carro(): dados = input().split() # 车型数量为总数据量的一半 qtd_carros = len(dados) // 2 return dados[:qtd_carros] def entrada_consumo(): dados = input().split() qtd_carros = len(dados) // 2 # 将油耗字符串转为整数列表 return list(map(int, dados[qtd_carros:]))
验证效果
- 测试输入1:
JEEP AUDI BMW JAGUAR 10 6 8 12,economico()会返回AUDI - 测试输入2:
CELTA GOL UP KA 10 7 6 9,economico()会返回UP
修改后,无论平台的main()如何调用economico(),函数都能自行获取所需的车型和油耗数据,避免参数缺失错误。
内容的提问来源于stack exchange,提问作者brasoares
相关产品推荐
相关产品推荐

