Как сделать переход в начало цикла?

Как в питоне сделать переход в начало цикла:

loop = 1
while loop == 1:
  a = random.randint(0, 2)
  b = random.randint(0, 2)
if a == 0 or b == 0:
  # переход в начало цикла
else:
  a / b

Ответы (1 шт):

Автор решения: Alexey Trukhanov

Так как из Вашего вопроса совершенно непонятно, чего Вы хотите добиться, а код содержит странные выражения, сыграем в телепатов. Предположим, что Вы хотите получить два случайных числа неравных нулю, поделить одно на другое и вывести ответ на экран. Тогда, например:

while not ((a := random.randint(0, 2)) or (b := random.randint(0, 2)):
    pass
print (a / b)

Или воспользоваться предложениями коллег из комментариев к этому ответу.

Если же Вам просто необходимо понять пиинцип работы цикла while, то он (цикл) «переходит в начало цикла» сам по себе, на каждой итерации, когда доходит до конца своего блока. Далее, проверяется условие, если оно верно, блок выполняется снова, если неверно, цикл прекращается. Чтобы заставить Ваш цикл работать, надо, во-первых, исправить отступы, чтобы внести условие внутрь цикла и во-вторых, сделать так, чтобы выражение a/b имело бы какой-то результат. Например:

loop = 1
while loop == 1:
  a = random.randint(0, 2)
  b = random.randint(0, 2)
  if a != 0 and b != 0:
      print (a / b)
      loop = 0  
  # переход в начало цикла
→ Ссылка