我怎样才能使这个循环工作?
How can I make this loop works?
我觉得很蠢,因为我试图为矩阵创建一个简单的循环以显示不同的解,但我无法修复数组的索引:(FOA 我正在使用带有 SageMath 9.3 的 Jupyter Notebook)
A=random_matrix(ZZ,4,4)
k=srange(2,7)
show(k)
i=0
for i in k:
show(A^k[i])
show(k[i])
我收到了:
[2,3,4,5,6]
"The matrix"
4
"The matrix"
5
"The matrix"
6
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-7-c50cd3e70a78> in <module>
4 i=Integer(0)
5 for i in k:
----> 6 show(A**k[i])
7 show(k[i])
IndexError: list index out of range
如何以正确的顺序打印 k esponent 2,3,4,5,6?
如果你添加一个 show(i)
调用,你会看到 i
每次的值是:
2
3
4
5
6
所以 k[i]
得到 k
的第三个元素,然后是第四个,等等。这就是你在 show(k[i])
时看到的。列表中只有五个元素,所以当 i=5
时,您将得到一个 IndexError
,如您所见。
相反,只需使用 i
:
A=random_matrix(ZZ,4,4)
k=srange(2,7)
show(k)
i=0
for i in k:
show(A**i)
show(i)
我觉得很蠢,因为我试图为矩阵创建一个简单的循环以显示不同的解,但我无法修复数组的索引:(FOA 我正在使用带有 SageMath 9.3 的 Jupyter Notebook)
A=random_matrix(ZZ,4,4)
k=srange(2,7)
show(k)
i=0
for i in k:
show(A^k[i])
show(k[i])
我收到了:
[2,3,4,5,6]
"The matrix"
4
"The matrix"
5
"The matrix"
6
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-7-c50cd3e70a78> in <module>
4 i=Integer(0)
5 for i in k:
----> 6 show(A**k[i])
7 show(k[i])
IndexError: list index out of range
如何以正确的顺序打印 k esponent 2,3,4,5,6?
如果你添加一个 show(i)
调用,你会看到 i
每次的值是:
2
3
4
5
6
所以 k[i]
得到 k
的第三个元素,然后是第四个,等等。这就是你在 show(k[i])
时看到的。列表中只有五个元素,所以当 i=5
时,您将得到一个 IndexError
,如您所见。
相反,只需使用 i
:
A=random_matrix(ZZ,4,4)
k=srange(2,7)
show(k)
i=0
for i in k:
show(A**i)
show(i)