【问题标题】:Why does the algorithm return ['NoneType' is not iterable] Error [duplicate]为什么算法返回 ['NoneType' is not iterable] 错误 [重复]
【发布时间】:2021-11-03 04:53:21
【问题描述】:
def arrayNesting(nums):
    new_nums = []
    seen = []
    k = 0
    for num in nums:
        new_nums = new_nums.append(nums[k])
        seen = seen.append(nums[k])
        k = nums[k]
        if k in seen:
            break
        else:
            continue
    return len(new_nums)

arrayNesting([0,1,2])

代码返回错误:

'NoneType' 不可迭代

这段代码有什么问题吗?

【问题讨论】:

  • 请将您的代码作为文本而不是图像发送

标签: python typeerror nonetype


【解决方案1】:

你的语法错误,在new_nums = new_nums.append(nums[k])这一行

你不需要将它分配给任何东西,所以它会是

new_nums.append(nums[k])

另外,你没有打印结果,你只是调用函数。

def arrayNesting(nums):
    new_nums = []
    seen = []
    k = 0
    for num in nums:
        new_nums.append(nums[k])
        seen = seen.append(nums[k])
        k = nums[k]
        if k in seen:
            break
        else:
            continue
    return len(new_nums)

a = arrayNesting([0,1,2])
print(a)

【讨论】:

  • seen = seen.append() 行应该应用相同的逻辑对吗?
  • 是的,正确的。没有看到seen = seen.append
猜你喜欢
  • 1970-01-01
  • 2017-08-01
  • 2022-08-04
  • 2020-06-17
  • 1970-01-01
  • 2017-10-14
  • 2014-02-17
  • 1970-01-01
  • 2022-01-15
相关资源
最近更新 更多