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

Python代码运行报错ValueError: not enough values to unpack (expected 2, got 1)求助

报错原因
  • 错误触发在(a, b) = map(int, input().split(' '))代码行,代码要求将分割后的结果解包给2个变量,但实际分割得到的列表长度不为2。
  • 常见触发场景有两类:
    • 某一行输入仅包含1个数字,分割后列表长度为1
    • 输入行首尾带空格、两个数字之间有连续多个空格,split(' ')会将单个空格作为独立分割依据,生成多余的空字符串元素,比如输入3 4用split(' ')分割会得到['', '3', '', '4', ''],列表长度不符合要求。
修复方案

最优方案:使用无参数split处理输入

无参数的split()方法会自动识别任意数量的空白字符(空格、制表符、换行符),同时自动忽略字符串首尾的空白,不会生成多余的空字符串元素,完全适配常规的数值输入场景。
修改后的代码如下:

T = int(input())
for tc in range(T):
    # 读取两个整数a和b
    a, b = map(int, input().split())
    ans = a + b
    print(ans)

兼容异常输入方案

如果需要适配输入不规范的场景,可以增加输入校验逻辑,避免程序直接崩溃:

T = int(input())
for tc in range(T):
    input_list = list(map(int, input().split()))
    # 取前两个有效数字计算
    a, b = input_list[0], input_list[1]
    ans = a + b
    print(ans)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:57:03