-
Придумайте любые 3 темы (например, "лингвистические термины", "фамилии актеров", "блюда грузинской кухни") и составьте по каждой из них список из 10-15 слов, лучше длинных. Списки слов по разным темам должны быть сохранены в отдельных txt-файлах.
-
При запуске программа должна предлагать пользователю выбрать одну из трех тем и загружать список слов, соответствующий выбору. Далее она должна случайным образом выбирать из списка и говорить пользователю что-то на подобии "У вас есть N попыток, чтобы угадать слово из X букв" и выводить строчку из _ по количеству букв в слове, разделенных пробелами. Количество попыток нужно выбрать самостоятельно, оно должно всегда быть одинаковым.
-
Если пользователь угадал букву, то программа должна заменять _ в соответствующем месте на угаданную букву
-
Программа должна выдавать разные сообщения в зависимости от того, угадал пользователь букву или нет, а также если он уже вводил эту букву или если введенный символ — не буква. Чувствительность к регистру не нужна!
-
Если названной буквы нет в слове, то программа должна рисовать деталь человечка. Обратите внимание, что количество деталей должно быть равно количеству попыток! Как будет выглядеть картинка, выбирайте сами
-
Код должен быть оформлен в виде функций с соблюдением правил PEP8. Не забывайте писать комментарии к функциям!
Примечание №1: Код должен быть оформлен в ipython notebook!
Примечание №2: Для ввода обязательно используйте функцию input()
, что позволит получить строку ввода.
Примечание №3: Отдельным одним баллом будет оценено умение программы согласовывать числительные с существительными, то есть выводить сообщения не "Осталось попыток: 5", а "Осталось 5 попыток, осталась 1 попытка" и т.п.
Балл | Критерий |
---|---|
1 | Созданы текстовые файлы со словами |
1 | Программа запускается и оформлена по PEP8 |
1 | Программа разделена на функции |
2 | Программа загадывает случайное слово из выбранной категории и правильно указывает, есть ли в нем буква, введенная пользователем |
2 | Программа умеет выводит нижние подчеркивания вместо неотгаданных букв |
2 | Программа корректно обрабытвает ошибочный ввод пользователя (как неправильно угаданная буква, так и некорректный символ), выводит число попыток и предлагает начать игру заново |
1 | Программа рисует детали человечка |
1 | Бонусный балл. Программа умеет склонять слово "попытка" |