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

Python中如何对两个数组应用依赖相邻元素的方程?

问题解决:数组相邻元素计算与结果存储

核心问题分析

  1. 循环范围错误:你原本使用range(len(b)),会导致最后一次循环时i+1超出数组索引(数组长度为11,索引最大为10,i=10时i+1=11会触发索引错误)。同时你需要生成9个结果,因此循环次数应为9次。
  2. 未保留计算结果:每次循环仅给变量x赋值,没有将结果追加到列表中,最终x只会保留最后一次计算值。
  3. 计算式错误:你写的计算式b[i]+ b[i+1] - a[i] + a[i+1]不符合预期结果,正确式子应为b[i] + b[i+1] - a[i] - a[i+1]。

修正代码

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

# 初始化空列表存储结果
result = []

# 循环9次,遍历前9组相邻元素
for i in range(9):
    # 正确计算式,匹配预期结果
    calc_value = b[i] + b[i+1] - a[i] - a[i+1]
    result.append(calc_value)

# 输出预期数组
print(result)
# 计算并输出总和
total_sum = sum(result)
print("结果总和:", total_sum)

运行结果

输出的结果数组为:

[9, 27, 45, 63, 81, 99, 117, 135, 153]

总和为:729

简化写法(可选)

用列表推导式简化代码,更简洁:

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

result = [b[i] + b[i+1] - a[i] - a[i+1] for i in range(9)]
total_sum = sum(result)

print(result)
print("结果总和:", total_sum)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 20:33:12