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

Python循环中存储并比较变量:如何获取连续输入和的最大差值?

解决连续两组整数和的最大绝对差值问题

你的代码存在两个核心逻辑错误:

  • 初始sum_num设为0,第一次循环计算的差值是第一组和0的差,并非连续两组的差值,不符合需求;
  • 循环中未将当前组的和更新到sum_num,导致后续循环始终用0和当前组计算差值,完全偏离目标逻辑。

正确实现思路

  1. 先读取第一组的和,作为后续比较的基准值;
  2. 从第二组开始,每计算完当前组的和,就和前一组的和计算绝对差值;
  3. 实时更新最大差值;
  4. 每次循环结束后,将前一组的和替换为当前组的和,保证下一次比较的是连续两组;
  5. 处理边界情况:若输入组数n小于2,没有连续两组可比较,最大差值直接为0。

修正后的代码

n = int(input())
max_diff = 0

if n >= 2:
    # 读取第一组的和,作为初始基准
    num1 = int(input())
    num2 = int(input())
    prev_sum = num1 + num2
    
    # 从第二组开始遍历剩余组
    for i in range(2, n + 1):
        num1 = int(input())
        num2 = int(input())
        current_sum = num1 + num2
        # 计算连续两组的绝对差值
        current_diff = abs(current_sum - prev_sum)
        # 更新最大差值
        if current_diff > max_diff:
            max_diff = current_diff
        # 更新基准为当前组的和,用于下一次比较
        prev_sum = current_sum

print(max_diff)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:25:18