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

Python使用input函数接收多值输入时代码报错原因咨询

报错原因说明

你的代码触发错误的核心原因是传入int()的参数类型不符合函数要求:

  • input("Enter two numbers").split() 的执行结果是字符串列表:比如用户输入3 5时,split处理后得到的是['3', '5'],是包含两个字符串元素的列表。
  • int()函数仅支持接收单个可转换为整数的参数(比如单个数字字符串、单个浮点数),无法直接接收列表类型作为入参。你当前的写法是试图把整个列表直接传入int()做类型转换,会直接抛出TypeError,提示int参数不能是列表,代码根本走不到后续拆包赋值、计算求和的步骤。
  • 你写的拆包逻辑a,b = xxx要求xxx是包含2个元素的可迭代对象,但int(列表)本身执行阶段就会报错,完全不会执行到拆包这一步。
正确写法说明

你提到的map()写法之所以能生效,是因为map(int, 输入列表)会把int()转换逻辑依次作用在列表的每一个元素上,分别把两个字符串转成整数,最终得到的两个整数值可以正常拆包赋值给a、b,修正后代码如下:

a,b = map(int, input("Enter two numbers").split())
print(a+b)

补充提示:该写法默认要求用户输入时用空白字符(空格、制表符等)分隔两个数字,如果输入的数字数量不对、分隔符不符合要求,还会触发其他类型的报错,但不属于你当前代码触发错误的原因范畴。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:48:28