Как заставить процесс вернуться, пока счетчик все еще считает? - PullRequest
0 голосов
/ 23 мая 2019

Мне нужно выяснить, сколько раз нужно, чтобы сумма значений границ случайно сгенерированного двухмерного списка равнялась переменной, но при добавлении счетчика процесс не возвращается.

import random

mylist = [
    [0, 0, 0, 0],
    [0, 0, 0, 0],
    [0, 0, 0, 0],
    [0, 0, 0, 0]
    ]


for row in range(4):
    for col in range(4):
        index = random.randint(0, 400)
        mylist[col][row] = index
def bordervalues(mylist, a, b): 
    sum = 0

    for i in range(a): 
        for j in range(b): 
            if (i == 0): 
                sum += mylist[i][j] 
            elif (i == a-1): 
                sum += mylist[i][j] 
            elif (j == 0): 
                sum += mylist[i][j] 
            elif (j == b-1): 
                sum += mylist[i][j] 
    return sum
    sum = bordervalues(mylist, 4, 4)
counter = 0
birth = 2001
actual = sum
while actual != birth:
    counter += 1
print(counter)

Результатом этого кода является бесконечный цикл.

1 Ответ

0 голосов
/ 23 мая 2019

Попробуйте, и вы поймете, о чем я говорю

sum = bordervalues(mylist, 4, 4)
counter = 0
birth = 2001
actual = sum
while actual != birth:
   print(actual)
   counter += 1
...