使用算法处理来自标准套牌的6张牌并将交易组合与目标素数进行比较。由于排列数组“结果”的索引,代码会出错。任何建议?
catch(T &t)
{
t.func();
}
错误消息是: Traceback(最近一次调用最后一次): 文件“C:/Users/xxx/Desktop/Dealhit.py”,第16行,in 结果[0] [3] =交易[0] /交易[1]
IndexError:列表索引超出范围。它创建了一个[4x1024]数组,其中大部分都是空值。
答案 0 :(得分:1)
for j in range(len(Result-1)):
应该是
for j in range(len(result)-1):
否则(result - 1)
将在len(result)
之前被排除。导致TypeError: unsupported operand type(s) for -: 'list' and 'int'
答案 1 :(得分:0)
由于i
位于range(5)
,i
可以取值4,加上2,得到6,超出deal
的范围。
我建议更换
range(5)
通过
range(len(deal) - 2)
当您尝试分配Result[1][j]
时,您将遇到另一个问题,因为Result
只包含一个元素。您需要创建所需大小的完整2d矩阵,或动态附加项目。