почему мой python пока l oop бесконечно? - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь некоторое время l oop выполнить функцию, пока проверка не изменилась. мой код выглядит следующим образом:

from time import sleep

verif = 0
num = 5

def doso(num, verif):
    if num%11 == 0:
        verif += 1

    elif num%14 == 0:
        verif += 1

    print(num)
    return verif

while verif == 0:
    doso(num, verif)
    num += 1
    sleep(1)

так что пока он работает бесконечно ... я хотел бы, если бы он остановился, когда он находит кратное 11 или 14

** его пример

Ответы [ 2 ]

2 голосов
/ 17 марта 2020

Чтобы избежать проблемы XY , обратите внимание, что вам вообще не нужен verif. Вы можете просто сделать:

num = 5

while True:
    if num%11 == 0 or num%14 == 0:
      break
    else:
      num += 1
2 голосов
/ 17 марта 2020

Попробуйте обновить переменную:

while verif == 0:
    verif = doso(num, verif)
    num += 1
    sleep(1)
...