
Python. Задание: Игра в "Быки и коровы" Описание задачи: Вы создаете игру в "Быки и коровы". Это
игра, в которой компьютер загадывает четырехзначное число, а игрок пытается угадать его. После каждой попытки компьютер сообщает, сколько быков и коров игрок получил. Если игрок угадал цифру и ее позицию, это считается "быком". Если игрок угадал цифру, но не ее позицию, это считается "коровой". Требования к программе: 1. Программа должна генерировать случайное четырехзначное число для каждой новой игры. 2. Игрок должен вводить свою догадку о загаданном числе. 3. Программа должна проверять, что введенное значение является четырехзначным числом. 4. Программа должна сообщать игроку, сколько быков и коров он получил после каждой попытки. 5. Программа должна завершаться, когда игрок угадывает загаданное число. Дополнительные требования: 1. Программа должна использовать функции для логических операций, таких как проверка на четырехзначность числа, вычисление быков и коров и т.д. 2. Программа должна предоставлять пользователю возможность начать новую игру или закончить текущую игру. Пример работы программы: >>> Добро пожаловать в игру "Быки и коровы"! >>> Я загадал случайное четырехзначное число. Попробуйте угадать его. >>> Ваша догадка: 1234 >>> 2 быка, 1 корова >>> Ваша догадка: 5678 >>> 0 быков, 0 коров >>> Ваша догадка: 9824 >>> 4 быка! Вы выиграли! >>> Хотите начать новую игру? (да / нет): нет >>> До свидания!

Ответы на вопрос

Объяснение:
- Ваш пример работы программы неверный. Когда вы загадали число 1234, то должны были получить 1 быка и 1 корову. Когда вы загадали число 5678, то должны были получить 0 быков и 1 корову.
Код Python 3.10:
from random import randint
print('Добро пожаловать в игру "Быки и коровы"!')
game = 'да'
while game == 'да':
num = str(randint(1000, 9999))
print("Я загадал случайное четырехзначное число. Попробуйте угадать его.")
attempt = True
while attempt:
player_num = input("Ваша догадка: ")
bulls = 0
cows = 0
for i in range(4):
if num[i] == player_num[i]:
bulls += 1
elif player_num[i] in num:
cows += 1
if bulls == 4:
print("4 быка! Вы выиграли!")
game = input('Хотите начать новую игру? (да / нет): ')
attempt = False
else:
print(f'{bulls} быка(-ов), {cows} корова(-ов)')



Конечно, вот пример кода на Python для игры "Быки и коровы", который удовлетворяет всем указанным требованиям:
```python import random
def generate_secret_number(): """Генерация случайного четырехзначного числа""" digits = list(range(10)) random.shuffle(digits) secret_number = ''.join(str(i) for i in digits[:4]) return secret_number
def get_user_guess(): """Получение догадки пользователя""" while True: guess = input("Введите вашу догадку (четырехзначное число): ") if guess.isdigit() and len(guess) == 4: return guess else: print("Пожалуйста, введите четырехзначное число.")
def check_guess(secret, guess): """Проверка догадки и подсчет быков и коров""" bulls = 0 cows = 0 for i in range(len(secret)): if secret[i] == guess[i]: bulls += 1 elif guess[i] in secret: cows += 1 return bulls, cows
def play_game(): """Основная функция игры""" print("Добро пожаловать в игру 'Быки и коровы'!") while True: secret_number = generate_secret_number() print("Я загадал случайное четырехзначное число. Попробуйте угадать его.")
attempts = 0 while True: user_guess = get_user_guess() bulls, cows = check_guess(secret_number, user_guess) print(f"Ваша догадка: {user_guess} — {bulls} быков, {cows} коров")
if bulls == 4: print("Поздравляю! Вы угадали число!") break
attempts += 1
play_again = input("Хотите начать новую игру? (да / нет): ") if play_again.lower() != 'да': print("До свидания!") break
if __name__ == "__main__": play_game() ```
Этот код создает игру "Быки и коровы" на Python, где компьютер загадывает случайное четырехзначное число, а игрок пытается его угадать. Программа проверяет каждую попытку пользователя, сообщает количество быков и коров после каждой попытки, и завершается, когда игрок угадывает число. Также предоставляется возможность начать новую игру или завершить текущую.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili