Предмет: Информатика,
автор: addenisovih
Python. Задание: Игра в "Быки и коровы"
Описание задачи:
Вы создаете игру в "Быки и коровы". Это игра, в которой компьютер загадывает четырехзначное число, а игрок пытается угадать его. После каждой попытки компьютер сообщает, сколько быков и коров игрок получил.
Если игрок угадал цифру и ее позицию, это считается "быком". Если игрок угадал цифру, но не ее позицию, это считается "коровой".
Требования к программе:
1. Программа должна генерировать случайное четырехзначное число для каждой новой игры.
2. Игрок должен вводить свою догадку о загаданном числе.
3. Программа должна проверять, что введенное значение является четырехзначным числом.
4. Программа должна сообщать игроку, сколько быков и коров он получил после каждой попытки.
5. Программа должна завершаться, когда игрок угадывает загаданное число.
Дополнительные требования:
1. Программа должна использовать функции для логических операций, таких как проверка на четырехзначность числа, вычисление быков и коров и т.д.
2. Программа должна предоставлять пользователю возможность начать новую игру или закончить текущую игру.
Пример работы программы:
>>> Добро пожаловать в игру "Быки и коровы"!
>>> Я загадал случайное четырехзначное число. Попробуйте угадать его.
>>> Ваша догадка: 1234
>>> 2 быка, 1 корова
>>> Ваша догадка: 5678
>>> 0 быков, 0 коров
>>> Ваша догадка: 9824
>>> 4 быка! Вы выиграли!
>>> Хотите начать новую игру? (да / нет): нет
>>> До свидания!
Ответы
Автор ответа:
3
Объяснение:
- Ваш пример работы программы неверный. Когда вы загадали число 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} корова(-ов)')
addenisovih:
Спасибо
Интересные вопросы
Предмет: Немецкий язык,
автор: kyzmenkoliza2000
Предмет: Психология,
автор: dimaantonov31122008
Предмет: Математика,
автор: cerednicenkodenis11
Предмет: Математика,
автор: nikita07111
Предмет: Математика,
автор: dorunkanova