Замена quit()

Lesnik360

Новичок
Пользователь
Июн 7, 2022
5
0
1
Здравствуйте, такая проблема, прилетела задача убрать quit() и сделать закрытие программы через continue, как это можно сделать?

Python:
import random

posled1 = 'Кот', 'Дерево', 'Яблоня', 'Пирог', 'Капуста', 'Овощ', 'Пицца', 'Сестра', 'Машина', 'Квартира'    # первая последовательность
posled2 = 'Беги', 'Плыви', 'Лети', 'Пиши', 'Учи', 'Лечи', 'Ешь', 'Рычи', 'Ходи', 'Жуй'                      # вторая последовательность
posled3 = 'Мама', 'Папа', 'Ручка', 'Брат', 'Квартира', 'Дача', 'Подъезд', 'Газон', 'Плита', 'Игрушка'       # третяя последовательность
# Основное окно с текстом
def start():
    print("Генератор паролей. Желаете сформировать пароль?")
    print("1 - да")
    print("2 - нет")
    r = int(input())
    if r == 1:
        root()
    elif r == 2:
        quit()
    else:
        print("Выбрано неверное значение, повторите попытку.")
        start()

def root():
    print('Выберите сложность генерируемого пароля?')
    print('1 - Пароль легкой сложности')
    print('2 - Пароль средней сложности')
    print('3 - Пароль высокой сложности')
    v = int(input())
    if v == 1:
        lightpass()
    elif v == 2:
        mediumpass()
    elif v == 3:
        hardpass()
    else:
        print("Выбрано неверное значение, повторите попытку.")
        root()
# Генератор паролей
def lightpass():
    i = random.randint(0, 9)
    p = list(posled3[i])
    g = len(p)
    b = 0
    q = random.randint(4, 8)
    while b < q:
        p.insert(random.randint(0, (g - 1)), random.randint(0, 9))
        b += 1
    print("Простой пароль по вашему запросу:" + "\n" + "".join(map(str, p)))
    repeat()

def mediumpass():
    r1 = list(posled1[random.randint(0, 9)])
    r2 = list(posled2[random.randint(0, 9)])
    r3 = list(posled3[random.randint(0, 9)])
    x = r1[:2] + r2[:2] + r3[:2]
    c = random.randint(10, 99)
    x.insert(0, c)
    print("Пароль средней сложности по вашему запросу: " + "\n" + "".join(map(str, x)))
    repeat()

def hardpass():
    r1 = list(posled1[random.randint(0, 9)])
    r2 = list(posled2[random.randint(0, 9)])
    r3 = list(posled3[random.randint(0, 9)])
    f = r1[:3] + r2[:3] + r3[:3]
    m = random.randint(100, 999)
    f.append(m)
    print("Пароль высокой сложности по вашему запросу: " + "\n" + "".join(map(str, f)))
    repeat()

def repeat():
    print("Вы хотите сгенерировать следующий пароль?")
    print("1 - да")
    print("2 - нет")
    n = int(input())
    if n == 1:
        root()
    elif n == 2:
        quit()
    else:
        print("Ошибка ввода, повторите ещё раз.")
        repeat()

start()
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
задача так и звучит?
 

Lesnik360

Новичок
Пользователь
Июн 7, 2022
5
0
1
задача так и звучит?
именно так quit() и exit() заменить на continue
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
ну возможно это намек, что бы вы переписали на циклах, так как continue и break используются в циклах...
и continue - это не прервать цикл, а начать следующую итерацию немедленно...
больше я не знаю применения...

не понятно ничего, если честно
 

Lesnik360

Новичок
Пользователь
Июн 7, 2022
5
0
1
ну возможно это намек, что бы вы переписали на циклах, так как continue и break используются в циклах...
и continue - это не прервать цикл, а начать следующую итерацию немедленно...
больше я не знаю применения...

не понятно ничего, если честно
Спасибо за помощь
 

Форум IT Специалистов