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

求列表中左和等于右和的元素索引结果错误,请问代码存在什么问题

代码问题说明
  • 核心逻辑错误:混淆了range()函数和列表切片的作用。sum(range(L[0], L[i]))是求从L[0]到L[i]-1的连续整数的和,完全不是计算列表L中索引0到i-1的元素和,右侧求和的sum(range(L[i+1], L[-1]))也是同样的错误。
  • 索引获取错误:L.index(L[i])在列表存在重复元素时,只会返回该值第一次出现的索引,无法正确输出当前匹配位置的索引,直接输出循环变量i即可。
  • 输出逻辑错误:当前代码只要单次循环判断不满足就会打印0,会输出大量无效的0值。正确逻辑是遍历完整个列表都没有找到符合条件的索引时,再输出无匹配的标识值。
  • 右侧求和范围错误:即使不考虑range的误用,range(L[i+1], L[-1])也不会包含列表最后一个元素,导致右侧求和永远少算最后一个值。
修正后代码
L=[]
n=int(input("enter the number of values to be added to the list: "))
for i in range(0,n):
    k=int(input("enter the values: "))
    L.append(k)

found = False
for i in range(0,n):
    if sum(L[:i]) == sum(L[i+1:]):
        print(i)
        found = True
        break
if not found:
    print("0")

内容的提问来源于stack exchange,提问作者Jeevan B A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:06:03