Задачи Словари. Задачи Словари Текстовые сообщения
Скачать 36.86 Kb.
|
Задачи «Словари» Текстовые сообщения Если помните, на старых мобильных телефонах текстовые сообщения набирались при помощи цифровых кнопок При этом одна кнопка была ассоциирована сразу с несколькими буквами, а выбор зависел от количества нажатий на кнопку. Однократное нажатие приводило к появлению первой буквы в соответствующем этой кнопке списке, последующие нажатия меняли ее на следующую. Список символов, ассоциированных с цифровой панелью, приведен в таблице: Напишите программу, отображающую последовательность кнопок, которую необходимо нажать, чтобы на экране телефона появился текст, введенный пользователем. Создайте словарь, сопоставляющий символы с кнопками, которые необходимо нажать, а затем воспользуйтесь им для вывода на экран последовательности кнопок в соответствии с введенным пользователем сообщением по запросу. Например, на ввод строки Hello, World! ваша программа должна откликнуться следующим выводом: 443355 5555666110966677755531111. Удостоверьтесь, что ваша программа корректно обрабатывает строчные и прописные буквы. При преобразовании букв в цифры игнорируйте символы, не входящие в указанный перечень, такие как точка с запятой или скобки. Карточка лото Карточка для игры в лото состоит из пяти колонок, в каждой из которых – пять номеров. Колонки помечены буквами B, I, N, G и O. Под каждой буквой могут быть номера в своем диапазоне из 15 чисел. А именно под буквой B могут присутствовать числа от 1 до 15, под I – от 16 до 30, под N – от 31 до 45 и т. д. Напишите функцию, которая будет создавать случайную карточку лото и сохранять ее в словаре. Ключами словаря будут буквы B, I, N, G и O, а значениями – списки из пяти чисел, располагающихся в колонке под каждой буквой. Создайте еще одну функцию для отображения созданной карточки лото на экране со столбцами с заголовками. В основной программе создайте карту лото случайным образом и выведите ее на экран. Ваша программа должна запускаться только в том случае, если она не импортирована в виде модуля в другой файл. Примечание. Как вы знаете, в настоящих карточках для игры в лото присутствуют пустые клетки в столбцах. Мы не будем реализовывать эту особенность в нашей программе. Эрудит В известной игре Эрудит каждой букве соответствует определенное количество очков. Общая сумма очков, которую получает игрок, составивший это слово, складывается из очков за каждую букву, входящую в его состав. Чем более употребимой является буква в языке, тем меньше очков начисляется за ее использование. В таблице приведены все соответствия букв и очков из и игры.
Напишите программу, рассчитывающую и отображающую количество очков за собранное слово. Создайте словарь для хранения соответствий между буквами и очками и используйте его в своем решении. |