Игра «Виселица» · Шаг 2 из 4
Одна буква, и та новая
Игрок пишет что попало: пустую строку, «ку», цифру, латинскую «a», заглавную «К» или букву, которую уже называл. Принимать надо только новую русскую букву — а про остальное объяснить, что не так.
Что сделать
Примите от игрока только новую русскую букву — а про остальное объясните, что не так.
Что приходит
vvod— что набрал игрокnazvannye— множество уже названных букв, строчных
Что вернуть
Пару: (буква, None) — принято, буква строчная; (None, причина) — нет; тексты и порядок причин — в «Подробных правилах».
Допишите функцию razobrat_bukvu в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В игре
Игра зовёт razobrat_bukvu на каждую набранную строку: причину печатает и спрашивает снова, а принятую букву добавляет к названным. Решите шаг — и «ку», «7» или уже названная буква перестанут съедать ход.
Без этого шага: берётся первый знак набранного, какой бы он ни был.
razobrat_bukvu("о", {"к", "а"})
('о', None)
Функция принимает строку, набранную игроком, и множество уже названных букв (строчных). Возвращает пару:
(буква, None)— если принято; буква строчная, без пробелов;(None, "почему нет")— если нет.
Пробелы по краям убираются, заглавная становится строчной. Причины проверяются по порядку, и возвращается первая подошедшая:
- пусто — «Напишите букву.»
- больше одного знака — «По одной букве за ход.»
- не русская буква (русские — от «а» до «я» и «ё») — «Нужна русская буква.»
- уже названа — «Букву «к» уже называли.» (с самой буквой в кавычках-ёлочках)
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.