Untitled

mail@pastecode.io avatar
unknown
python
a year ago
2.7 kB
3
Indexable
from random import randint

print("Добро пожаловать в числовую угадайку")

# Проверка на правильность ввода
def is_valid(num):
    return num.isdigit() and int(num) in range(1, 101)

# Генерация рандомного числа (1-100)
def generate_number():
    number = randint(1, 100)
    print(f'INFO: Загаданное число: {number}')
    
    return number

# Пока число не будет валидно, запрашивать его снова и снова
def get_user_input():
    input_number = input("\nВведите число от 1 до 100: ")
    
    while not is_valid(input_number):
        print('Введенное число не валидно, повторите попытку\n')
        input_number = input("\nВведите число от 1 до 100: ")

    return int(input_number)

# Функция отвечающая за 1 раунд
def game_round(): 
    counter = 1
    secret_number = generate_number()

    while True:
        user_number = get_user_input()
        if user_number < secret_number:
            counter += 1
            print('Ваше число меньше загаданного, попробуйте еще')
        elif user_number > secret_number:
            counter += 1
            print('Ваше число больше загаданного, попробуйте еще')
        else:
            print('Вы угадали, поздравляем!\n')
            break

    print(f'У вас ушло {counter} попыток!\n')


# Спрашиваем юзера, продолжать ли игру?
def countinue_game():
    while True:
        answer = input("Хотите сыграть снова? y/n: ")

        if answer.lower() == "y": # Можно проверку на y и Y делать так
            return True
        elif answer == 'N' or answer == 'n': # А не так
            return False
        else:
            print("Я вас немного не понял бля")

# Основная функция - начинает игру
def start_game():
    print('Начинаем игру!\n')
    
    is_continue = True # В первый раз игра должна просто запуститься
    while is_continue:
        game_round()
        is_continue = countinue_game() # Начиная со второго спрашиваем, надо ли продолжать игру

    print('Спасибо, что играли в числовую угадайку. Еще увидимся...')

start_game()