gpt4 book ai didi

python - 数组和运算结果分配给值时出现问题

转载 作者:行者123 更新时间:2023-12-01 08:16:00 25 4
gpt4 key购买 nike

这是Python代码:

x=[2, 3, 5, 7]
for i in range(1, 5000):
if i%2:
if i%3:
if i%5:
if i%7:
x.append(i)
x.remove(1)
a = 6
b = 2
for i in range(0, 10):
a = x[a - b]
b = x[a] - x[b]

出于某种原因,我得到一个 IndexError: list index out of range ,即使 x[] 是 1360 并且 a 只是 6 而 b 是 2,所以我不知道为什么会发生这种情况。你能帮忙的话,我会很高兴。我正在使用 python shell。这会是一个问题吗?

最佳答案

代码的问题在于 for 循环中的逻辑。

你会看到:-

a = 6
b = 2
for i in range(0, 10):
a = x[a - b]
b = x[a] - x[b]

是的,a 是 6,b 是 2,但是当你第一次进入 for 循环时,a 的值为

x[a-b] 是 x[6-2]

即x[4] 给出 11

所以a的值为11,b同样如此,

b = x[a] - x[b] # which translates to x[11] - x[2]

变成 b=32 并且循环继续跳转/更改 a 和 b 的值,这会导致您出现预期的 IndexError: list index out of range

尝试在 pycharm 中执行你的程序并调试它,你会更好地理解它,或者可能只是添加一些打印语句。

我无法在评论中输入太多内容,因此将其作为答案发布。

关于python - 数组和运算结果分配给值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54976461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com