python在使用while函数时遇到问题

2024-05-01 21:56:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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)

Tags: 密码计数器矩阵val学生matrixpointsms
1条回答
网友
1楼 · 发布于 2024-05-01 21:56:47

在错误的位置将ij设置为0。在处理3个循环之前,你应该在2个循环中获得舒适的循环。另外,您的k应该从1还是0开始?你知道吗

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]]
k = 1
somme = 0

while k < 24:
    i = 0 #matrix jumping
    while i < 6:
        j = 0 #scan the matrix
        while j < 6:
            m[i][j] = (11 * m[i][j])%37
            print(i,j,k)
            j += 1
        i += 1
    k += 1

print(m)

相关问题 更多 >