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

如何读取隔行输入?Python输入处理问题咨询

问题解决

你的代码无法正常运行不是因为输入里的空格,而是循环内部重复使用了变量名n,覆盖了一开始读取的总数据行数,导致循环逻辑出错。

错误原因

第一行读取的n是总共有3组数据,但循环里n, m = map(int, input().split())会把每行第一个数重新赋值给n,比如第一次循环后n变成33,循环范围range(n)就变成range(33),后续输入数量不足就会触发报错。

修正后的代码

把循环内的变量名改成和外部的n不同的名字,比如a, b:

n = int(input())

for i in range(n):
    a, b = map(int, input().split())
    # 可添加对a和b的处理逻辑,比如打印输出
    print(a, b)

测试验证

用你给出的输入测试:

3
33 2
44 4
55 5

代码会正确读取3组数据,每组的两个数分别存入a和b,不会再出现变量覆盖的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:35:15