Как повторно запустить цикл к While?

Рейтинг: 0Ответов: 3Опубликовано: 24.02.2023

Нужно чтобы при при вводе "Да" от пользователя, цикл while перезапустился заново. Но у меня программа заканчивает весь процесс. Попробовал разные методы, не помогло. Как можно решить?

def started():
pop = 0
i = 0
while pop < 5:
    for i in range(1):
        sys = random.randint(1, 10)
        en = int(input("Угадай: "))
        if en == sys:
            pop = 0
            print("Угадал")
        else:
            pop += 1
            print("Неверно, Верный ответ - " + str(sys))
            s = 5 - pop
            print("Попыток осталось " + str(s))
            if pop == 5:
                restart = input("Ты использовал все попытки, Заново? ")
                if  restart == "Да":
                    return
                else:
                    break
started()

Ответы

▲ 1Принят

заместо return поставить started()

import random


def started():
     pop = 0
     i = 0
     while pop < 5:
          for i in range(1):
               sys = random.randint(1, 10)
               en = int(input("Угадай: "))
               if en == sys:
                    pop = 0
                    print("Угадал")
               else:
                    pop += 1
                    print("Неверно, Верный ответ - " + str(sys))
                    s = 5 - pop
                    print("Попыток осталось " + str(s))
                    if pop == 5:
                         restart = input("Ты использовал все попытки, Заново? ")
                         if restart == "Да":
                              started()
                         else:
                              break

started()
▲ 1
            if pop == 5:
                restart = input("Ты использовал все попытки, Заново? ")
                if  restart == "Да":
                    return
                else:
                    break

В этом месте после if restart == "Да": добавить pop=0 return убрать.

▲ 1
def started():
    pop = 0
    while pop < 5:
        for i in range(1):
            sys = random.randint(1, 10)
            en = int(input("Угадай: "))
            if en == sys:
                pop = 0
                print("Угадал")
            else:
                pop += 1
                print("Неверно, Верный ответ - " + str(sys))
                s = 5 - pop
                print("Попыток осталось " + str(s))
                if pop == 5:
                    restart = input("Ты использовал все попытки, Заново? ")
                    if restart == "Да":
                        return
                    else:
                        break


while True:
    started()