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

如何在Python中迭代处理下一组输入并执行求和操作?

搞定迭代求和的问题啦!

先帮你捋捋当前代码里的几个小坑:

  • 你写的add函数逻辑有点混乱,里面的循环根本没发挥作用,一进去就直接返回x+y,完全没用到store_array
  • 最后只调用了一次print语句,自然只会输出第一组数字的和
  • j变量的管理也有点乱,全局变量和函数里的变量混在一起,没起到迭代的作用

修复后的完整代码

store_array = list()
# 直接把测试用例数转成整数,省得后面重复转换
test_case = int(input()) 

for i in range(test_case):
    # 输入时直接转成整数,不用先存字符串再处理
    number1 = int(input())  
    number2 = int(input())
    # 把每组两个数存成元组,这样数组里的元素就是一对一对的,更清晰
    store_array.append((number1, number2))  

# 这个add函数其实很简单,就是返回两个数的和
def add(x, y):
    return x + y  

# 遍历数组里的每一对数字,调用add函数求和并输出
for pair in store_array:
    print(add(pair[0], pair[1]))

甚至可以更简洁(不用额外存数组)

如果你不需要保留所有输入的数字,其实连store_array都可以省掉,直接在循环里计算输出,效率更高:

test_case = int(input())
# 用_代替i,因为这里不需要用到循环变量
for _ in range(test_case):
    num1 = int(input())
    num2 = int(input())
    print(num1 + num2)

为啥原代码只输出一次?

原代码最后只执行了一次print(add(store_array[j], store_array[j+1])),而且j初始是0,所以只取了前两个元素。另外你的add函数里的循环完全是多余的,函数一进去就return x+y,循环根本没机会执行哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:12:27