Держи
import random
# Список слов для угадывания
words = [
"кот", "собака", "птица", "рыба",
"слон", "тигр", "медведь", "заяц",
"черепаха", "лошадь", "кролик", "обезьяна"
]
# Вопросы для угадывания
questions = [
("Это домашнее животное?", ["кот", "собака"]),
("Это млекопитающее?", ["кот", "собака", "слон", "тигр", "медведь", "заяц", "лошадь", "кролик"]),
("Это животное с хвостом?", ["кот", "собака", "тигр", "медведь", "заяц"]),
("Это животное, которое может летать?", ["птица"]),
("Это морское животное?", ["рыба"]),
("Это крупное животное?", ["слон"]),
("Это дикий зверь?", ["тигр", "медведь"]),
("Это рептилия?", ["черепаха"]),
("Это животное с длинными ушами?", ["заяц"]),
("Это животное, которое может бегать быстро?", ["лошадь"]),
("Это примат?", ["обезьяна"]),
]
def guess_animal():
print("Я буду задавать вам вопросы, чтобы угадать ваше слово.")
possible_words = set(words) # Начинаем с полного списка слов
for question, valid_words in questions:
# Проверяем, есть ли среди возможных слов слова из списка valid_words
if possible_words.intersection(valid_words):
answer = input(f"{question} (да/нет): ").strip().lower()
if answer == 'да':
possible_words.intersection_update(valid_words)
else:
possible_words.difference_update(valid_words)
# Если осталась только одна возможность, мы можем угадать
if len(possible_words) == 1:
print(f"Я думаю, что это: {possible_words.pop()}")
return
# Если не удалось угадать
if possible_words:
print(f"Я не смог угадать. Возможно, это одно из: {', '.join(possible_words)}")
else:
print("Кажется, я ошибся. Попробуйте снова!")
# Запуск игры
if __name__ == "__main__":
guess_animal()