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()