Python循环中存储并比较变量:如何获取连续输入和的最大差值?
解决连续两组整数和的最大绝对差值问题
你的代码存在两个核心逻辑错误:
- 初始
sum_num设为0,第一次循环计算的差值是第一组和0的差,并非连续两组的差值,不符合需求; - 循环中未将当前组的和更新到
sum_num,导致后续循环始终用0和当前组计算差值,完全偏离目标逻辑。
正确实现思路
- 先读取第一组的和,作为后续比较的基准值;
- 从第二组开始,每计算完当前组的和,就和前一组的和计算绝对差值;
- 实时更新最大差值;
- 每次循环结束后,将前一组的和替换为当前组的和,保证下一次比较的是连续两组;
- 处理边界情况:若输入组数
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
相关产品推荐
相关产品推荐

