我是python的学生和乞丐,我有个问题。我已经从一个6乘6的矩阵中做了一些运算。我必须为每个部分的每个值(11*matrix\u val)%37执行操作,但我的计数器工作不正常。。。你知道吗
这是我的密码:
m = [[36, 19, 27, 36, 7, 10], [2, 18, 3, 33, 2, 21], [26, 27, 4, 22, 30, 31], [29, 36, 7, 20, 6, 30], [30, 6, 14, 23, 15, 13], [22, 10, 10, 35, 15, 22]]
i = 0 #matrix jumping
j = 0 #scan the matrix
k = 1
somme = 0
while k < 24:
while i < 6:
while j < 6:
m[i][j] = (11 * m[i][j])%37
print(i,j,k)
j = j + 1
i = i + 1
k = k + 1
j = 0
i = 0
print(m)
但当我检查我的计数器时,只有“j”在增加,但“I”和“k”并不像图在这里看到的那样:
isatix@isatix-MS-7A34:~/python/ceinture/20 points$ python3 matrice.py
0 0 1
0 1 1
0 2 1
0 3 1
0 4 1
0 5 1
[[26, 24, 1, 26, 3, 36], [2, 18, 3, 33, 2, 21], [26, 27, 4, 22, 30, 31], [29, 36, 7, 20, 6, 30], [30, 6, 14, 23, 15, 13], [22, 10, 10, 35, 15, 22]]
isatix@isatix-MS-7A34:~/python/ceinture/20 points$
所以也许我做错了什么,但我看不出来^^ 有人有主意吗?你知道吗
编辑:问题已解决:
以下代码运行良好:
m = [[36, 19, 27, 36, 7, 10], [2, 18, 3, 33, 2, 21], [26, 27, 4, 22, 30, 31], [29, 36, 7, 20, 6, 30], [30, 6, 14, 23, 15, 13], [22, 10, 10, 35, 15, 22]]
i = 0 #saute de matrice en matrice
j = 0 #parcour la matrice
k = 1
somme = 0
while k < 24:
i = 0
j = 0
while i < 6:
while j < 6:
m[i][j] = (11 * m[i][j])%37
print(i,j,k)
j = j + 1
i = i + 1
j = 0
k = k + 1
print(m)
在错误的位置将
i
和j
设置为0。在处理3个循环之前,你应该在2个循环中获得舒适的循环。另外,您的k
应该从1还是0开始?你知道吗相关问题 更多 >
编程相关推荐