def game(): generate_number() res = {'bulls': 0, 'cows': 0} n = 0 while res['bulls'] < 4: user_number = input(colored('Введите число: ', color='blue')) if check_number(user_number): res = check_number(user_number) cprint(f"быки - {res['bulls']}, коровы - {res['cows']}", color='yellow') n += 1 else: cprint( 'Некорректный ввод. Число должно состоять из 4 цифр, в числе все цифры должны быть разные', color='red') if n == 1: cprint(f'Вы отгадали число за {n} ход!', color='green') elif n == 2 or n == 3 or n == 4: cprint(f'Вы отгадали число за {n} хода!', color='green') else: cprint(f'Вы отгадали число за {n} ходов!', color='green')
while True: if count == 0: cprint('***********************', 'magenta') cprint('*** "Быки и Коровы" ***', 'magenta') cprint('***********************', 'magenta') is_bot = True if input('Доверите игру БОТУ? (y/n)') in ('Y', 'y', 'д', 'Д') else False cprint('Число загадано', 'green') cprint(make_number(), 'green') if is_bot: print('Укажите число: ') user_number = generate_number() else: while True: user_number = input('Укажите число: ') if user_number.isdigit() and len(user_number) == 4: break else: cprint('По условиям игры необходимо указать 4х значное число.', 'red') print(user_number) result = check_number(number=user_number) cprint( 'быки - ' + str(result['bulls']) + ' коровы - ' + str(result['cows']), 'blue')
if number % 10 in [2, 3, 4] and number % 100 not in [12, 13, 14]: return two_form return zero_form # Создайте функцию "проверка_ввода" для валидации ответа игрока, где проверяйте: # 1) ответ состоит из цифр # 2) цифр 4 шт. # 3) цифры разные # 4) число не начинается с нуля # Готово. Докинул функцию в движок while True: mme.generate_number() attempts = 1 while True: print(f'\nПопытка номер {attempts}') user_input = input( 'Введите ваш вариант числа или "выход", если хотите завершить игру: ' ) while not mme.input_is_valid( user_input) and user_input.lower() != 'выход': user_input = input( 'Вы где-то ошиблись с вводом числа. Попробуйте ещё раз: ') if user_input.lower() == 'выход': print('Жаль, что уходите. Возвращайтесь ещё!') exit()
# Составить модуль, реализующий функциональность игры. # Функции реализаци игры: # загадать_число() # проверить_число(NN) - возвращает словарь {'bulls': N, 'cows': N} # Загаданное число хранить в глобальной переменной # Обратите внимание, что строки - это список символов # # В текущем модуле (lesson_006/mastermind.py) реализовать логику работы с пользователем: # начало игры, # ввод числа пользователем # вывод результата проверки # если игрок выиграл - показать количество ходов и вопрос "Хотите еще партию?" from mastermind_engine import generate_number, compare_numbers, is_game_over generate_number() steps = 0 while True: called_number = input( 'Введите число в интервале от 1000 до 9999. Для выхода введите q ') if called_number == 'q': break if len(called_number) != 4: print('Введено некорректное число') continue compare_numbers(called_number) steps += 1 if is_game_over(): print('Количество попыток при угадывании: ' + str(steps) + '. Хотите ещё партию?') break