Untitled
unknown
python
a year ago
2.7 kB
3
Indexable
Never
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()