python - IndexError:python中的列表索引超出范围异常
问题描述
我尝试用python编写一个算法,但我不明白为什么它超出范围。我真的不明白问题出在哪里这是我的代码
B = [1, 2, 3, 4]
n = 4
def b(m, i):
if m % 2 == 0 and m > 2:
if i < m - 1:
return 1
else:
return m - 2
else:
return m - 1
def PERM(m):
if m == 1:
print(P)
else:
for i in range(0, m):
PERM(m - 1)
if i < m:
k = P[m]
P[m] = P[b(m, i)]
P[b(m, i)] = k
PERM(n)
解决方案
在 for i in range(0, m): 中,循环从 0 迭代到 4,总共有 5 个索引,所以最好将 n = 4 更改为 n = 3,希望对您有所帮助:)
推荐阅读
- node.js - 如何在服务器上托管反应应用程序和节点 API
- python - 格式化序列中的整数(列表、元组、集合)
- python - 发布表单后如何重定向到具有上下文的另一个页面?
- node.js - 从某些请求中绕过 nodejs express-http-proxy
- kubernetes - Heketi 没有看到所有 glusterfs 砖块
- intellij-idea - 如何用intelliJ上第一个正则表达式的捕获替换?
- c# - 重置变量的好方法
- docker - kafka 生产者 docker 无法连接到代理 docker - AWS
- javascript - A-frame:从内部池中获取球体
不可见 - hibernate-search - 如何在 JSON 对象属性上动态创建索引(JSON 对象道具也是动态的)