Нужно исправить часть кода(Ошибок нет)

Sket

Новичок
Пользователь
Ноя 6, 2023
3
0
1
Python:
import random
import sys


name = input("Как вас зовут:")
list = ['автомобиль','мотомобиль','самолет','мотолёт']
rndlist = random.choice(list)
print("1)От 0 до 5 - Easy\n2)От 0 до 10 - Normal\n3)От 0 до 20 - Hard")
reg = int(input("Выберите режим игры:"))
if reg != 1 and reg != 2 and reg != 3:
    print("Выберите 1, 2 или 3")
    while True:
        print("1)От 0 до 5 - Easy\n2)От 0 до 10 - Normal\n3)От 0 до 20 - Hard")
        reg = int(input("Выберите режим игры:"))
        if reg == 1 or reg == 2 or reg == 3:
            break
if reg == 1:
    print("Выбран режим Easy")
    rnd1 = random.randint(0, 5)
    num1 = int(input("Введите ваше число:"))
    
while num1 > 5 or num1 < 0:
    print("Выберите число от 0 до 5!")
    num1 = int(input("Введите ваше число:"))
    if num1 > 5 or num1 < 0:
        while True:
            print("Выберите число от 0 до 5!")
            num1 = int(input("Введите ваше число:"))
            if num1 <= 5 and num1 >= 0:
                break
            

if num1 != rnd1:
    print("Простите, но вы проиграли,попробуйте еще раз")
    while True:
        num1 = int(input("Введите ваше число:"))
        if num1 == rnd1:
            break
        else:
            print("Простите, но вы проиграли,попробуйте еще раз")
if num1 == rnd1:
    print(f"{name},поздравляю!Вы выиграли {rndlist}")
    print("Чтобы получить приз, оплатите его...")
    print("1)Да\n2)Нет")
    shop1 = int(input("Будете оплачивать?"))
    if shop1 != 1 and shop1 != 2:
        print("Выберите 1 или 2!")
        while True:
            print("1)Да\n2)Нет")
            shop1 = int(input("Будете оплачивать?:"))
            if shop1 == 1 or shop1 == 2:
                break
            else:
                print("Выберите 1 или 2!")
if shop1 == 1:
    print("W")
if shop1 == 2:
    print("F")
sys.exit()
                  
if reg == 2:
    print("Выбран режим игры Normal")
    rnd2 = random.randint(0, 10)
    num2 = int(input("Введите ваше число:"))
    if num2 > 10 and num2 < 0:
        print("Введите число от 0 до 10!")
        while True:
            num2 = int(input("Введите ваше число:"))
            if num2 < 10 or num2 > 0:
                break
            else:
                print("Введите число от 0 до 10!")
if num2 != rnd2:
    print("Простите, но вы проиграли,попробуйте еще раз")
    while True:
        num2 = int(input("Введите ваше число:"))
        if num2 == rnd2:
            break
        else:
            print("Простите, но вы проиграли,попробуйте еще раз")

if num2 == rnd2:
    print(f"{name}!Поздравляю, вы выиграли {rndlist}")
    print("Чтобы забрать приз,оплатите его...")
    print("1)Да\n2)Нет")
    shop2 = int(input("Будете оплачивать?:"))
    if shop2 != 1 and shop2 != 2:
        print("Выберите 1 или 2!")
        while True:
            print("1)Да\n2)Нет")
            shop2 = int(input("Будете оплачивать?:"))
            if shop2 == 1 or shop1 == 2:
                break
            else:
                print("Выберите 1 или 2!")
if shop2 == 1:
    print("W")
if shop2 == 2:
    print("F")
sys.exit()

if reg == 3:
    print("Выбран режим игры Hard")
    rnd3 = random.randint(0, 20)
    num3 = int(input("Введите ваше число:"))
    if num3 > 20 and num3 < 0:
        print("Введите число от 0 до 20!")
        while True:
            num3 = int(input("Введите ваше число:"))
            if num3 < 20 or num3 > 0:
                break
            else:
                print("Введите число от 0 до 20!")
if num3 != rnd3:
    print("Простите, но вы проиграли.Попробуйте еще раз")
    while True:
        num3 = int(input("Введите ваше число:"))
        if num3 == rnd3:
            break
    else:
        print("Простите, но вы проиграли.Попробуйте еще раз")
if num3 == rnd3:
    print(f"{name},поздровляю!Вы выиграли {rndlist}")
    print("Чтобы забрать приз, оплатите его...")
    print("1)Да\n2)Нет")
    shop3 = int(input("Будете оплачивать:"))
    if shop3 != 1 and shop3 != 2:
        print("Выберите 1 или 2!")
        while True:
            print("1)Да\n2)Нет")
            shop3 = int(input("Будете оплачивать:"))
            if shop3 == 1 or shop3 == 2:
                break
            else:
                print("Выберите 1 или 2!")
if shop3 == 1:
    print("W:)")
if shop3 == 2:
    print("F!")
sys.exit()

Если num1 > 5 или < 0 то код должен повториться. Ввожу число больше 5, все срабатывает как и задумывалось, однако стоит ввести число в поставленных рамках, последующий ввод чисел больше 5, код не повторяется, а выполняется следующий код
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
423
115
43
Я так понял, что из подсказок ты урок не извлекаешь... Ну думай сам тогда👋
 

Sket

Новичок
Пользователь
Ноя 6, 2023
3
0
1
Я так понял, что из подсказок ты урок не извлекаешь... Ну думай сам тогда👋
Да я то обучаюсь, к тому что ты написал я ещё и не дошёл
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
423
115
43
Да я то обучаюсь
Обучаешься писать плохой, не читаемый и длинный код? Неси полное описание задачи.

к тому что ты написал я ещё и не дошёл
если не дошел до функций и их по условию нельзя использовать, нужно было написать об этом.
А так, совет тебе учись сразу писать норм, переучиваться потом труднее как правило.
 

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