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

Python实现环形列表相邻求和及'int'不可迭代报错解决

错误原因分析

  • 循环语法逻辑错误:for lst[0] in range(len(lst)) 不应该将列表首元素作为循环变量,需要定义独立的索引变量遍历列表
  • 列表操作方法错误:列表的+=运算符要求右侧是可迭代对象,你传入整数运算结果就会触发'int' object is not iterable报错,添加单个元素到列表需要使用append()方法
  • 逻辑不完整:当前代码仅计算了首元素的相邻和,没有覆盖列表所有位置的元素计算规则

正确实现代码

user_input = input()
lst = [int(i) for i in user_input.split(' ') if i.isdigit()]
result = []
n = len(lst)

if n == 1:
    print(lst[0])
else:
    for i in range(n):
        # 左邻居:i为0时自动取列表最后一个元素
        left = lst[i-1]
        # 右邻居:i为最后一位时自动取列表第一个元素
        right = lst[(i+1) % n]
        result.append(str(left + right))
    # 拼接为空格分隔的字符串输出
    print(' '.join(result))

代码说明

  • 利用Python列表负索引特性,i=0时lst[i-1]自动取列表末尾元素,刚好符合首元素左邻居的取值规则
  • 右邻居使用取模运算(i+1) % n,当i是最后一个索引时,计算结果为0,自动取列表首元素,符合尾元素右邻居的取值规则
  • 所有运算结果转成字符串后用join方法拼接,输出格式和需求完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:48:01