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

Python如何用单行lambda实现输入读取与两数求和,现有报错如何解决

错误原因

  • 第一处语法错误:str.format() 传参不匹配。input().split()返回的是单个列表对象,你将它作为唯一参数传给format(),但你的格式化字符串有{0}、{1}两个占位符,需要传入2个独立参数,参数数量不匹配直接触发tuple index out of range报错。
  • 第二处逻辑错误:就算格式化语法没问题,你最终传给lambda的是格式化后的单个字符串,而你定义的lambda需要接收2个独立参数,调用时参数数量也不匹配,仍会报错。
  • 第三处功能缺失:你没有对输入的两个字符串做int类型转换,就算调用成功得到的也是字符串拼接结果,而非数值相加结果。

正确实现方案

lambda版本(匹配你的实现思路)

print((lambda a, b: int(a) + int(b))(*input().split()))

这里用*对input.split()返回的列表做解包,把列表的两个元素作为独立参数传给lambda,同时在lambda内部完成类型转换。

更简洁的非lambda版本

print(sum(map(int, input().split())))

用map(int, ...)把拆分后的所有字符串转成int类型,再用sum直接求和,适配任意数量输入的求和场景。

可搜索的相关关键词

  • Python str.format 占位符参数数量匹配规则
  • Python 可迭代对象解包 * 运算符用法
  • Python lambda 参数传递规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:18:01