Игра «Виселица»
В «Виселице» игрок отгадывает слово по буквам за ограниченное число попыток — хороший проект на строки, множества и цикл.
Слово и маска
Загадываем слово и показываем его закрытым — вместо букв рисуем чёрточки. Открытые буквы удобно хранить во множестве.
word = 'дрон'
opened = set()
mask = ''.join(c if c in opened else '_' for c in word)
print(mask) # ____
Угадываем букву
Игрок вводит букву. Если она есть в слове — добавляем во множество открытых, иначе тратим попытку. Множество хранит только уникальные буквы.
letter = input('Буква: ')
if letter in word:
opened.add(letter)
else:
tries -= 1
Цикл игры
Повторяем ход в цикле while, пока есть попытки и слово не открыто целиком. Условие победы — все буквы слова попали во множество opened.
tries = 6
while tries > 0 and set(word) != opened:
# показать маску, спросить букву
...
Частые вопросы
Почему множество, а не список? В множестве нет повторов и проверка «есть ли буква» работает быстро.
Как выбрать слово случайно? Держите список слов и берите random.choice(words).
Начать игру бесплатно