книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Скачать 2.24 Mb.
|
Упражнение 141. Английская пропись(65 строк) Несмотря на то что популярность оплаты по чекам за последние годы серьезно снизилась, некоторые компании до сих пор используют этот способ для ведения взаиморасчетов с сотрудниками и поставщиками. Сумма на чеках обычно указывается дважды: один раз цифрами, второй – прописью на английском языке. Повторение суммы двумя разными формами записи призвано не позволить недобросовестным сотрудникам или поставщикам изменять сумму на чеках перед их обналичиванием. В данном упражнении вам необходимо написать функцию, принимающую в качестве входного параметра число от 0 до 999 и возвращающую строку прописью. Например, если значение параметра будет равно 142, функция должна вернуть следующую строку: «one hundred forty two». Используйте один или несколько словарей вместо условных конструкций if/elif/else для выработки решения этой задачи. Напишите основную программу, в которой пользователь будет вводить числовое значение, а на экран будет выводиться соответствующая сумма прописью. Упражнение 142. Уникальные символы(Решено. 16 строк) Напишите программу, определяющую и выводящую на экран количество уникальных символов во введенной пользователем строке. Например, в строке Hello, World! содержится десять уникальных символов, а в строке zzz – один. Используйте словарь или набор для решения этой задачи. Упражнение 143. Анаграммы(Решено. 39 строк) Анаграммами называются слова, образованные путем взаимной перестановки букв. В английском языке, например, анаграммами являются слова «live» и «evil», а в русском – «выбор» и «обрыв». Напишите программу, которая будет запрашивать у пользователя два слова, определять, являются ли они анаграммами, и выводить на экран ответ. Упражнение 144. Снова анаграммы(48 строк) Понятие анаграмм не ограничивается словами, а может быть расширено до целых предложений. Например, строки «William Shakespeare» и «I am a weakish speller» являются полными анаграммами, если игнорировать пробелы и заглавные буквы. Расширьте свою программу из упражнения 143, добавив возможность проверки на анаграммы целых фраз. При анализе не обращайте внимания на знаки препинания, заглавные буквы и пробелы. Упражнение 145. Эрудит(Решено. 18 строк) В известной игре Эрудит (Scrabble™) каждой букве соответствует определенное количество очков. Общая сумма очков, которую получает игрок, составивший это слово, складывается из очков за каждую букву, входящую в его состав. Чем более употребимой является буква в языке, тем меньше очков начисляется за ее использование. В табл. 6.5 приведены все соответствия букв и очков из английской версии игры. Таблица 6.5. Стоимость букв в английской версии игры Эрудит
Напишите программу, рассчитывающую и отображающую количество очков за собранное слово. Создайте словарь для хранения соответствий между буквами и очками и используйте его в своем решении. Примечание. На игровом поле Эрудита присутствуют специальные клетки, удваивающие и утраивающие стоимость буквы или всего слова. В данном упражнении мы для простоты реализации проигнорируем этот факт. Упражнение 146. Карточка лото(Решено. 58 строк) Карточка для игры в лото состоит из пяти колонок, в каждой из которых – пять номеров. Колонки помечены буквами B, I, N, G и O. Под каждой буквой могут быть номера в своем диапазоне из 15 чисел. А именно под буквой B могут присутствовать числа от 1 до 15, под I – от 16 до 30, под N – от 31 до 45 и т. д. Напишите функцию, которая будет создавать случайную карточку лото и сохранять ее в словаре. Ключами словаря будут буквы B, I, N, G и O, а значениями – списки из пяти чисел, располагающихся в колонке под каждой буквой. Создайте еще одну функцию для отображения созданной карточки лото на экране со столбцами с заголовками. В основной программе создайте карту лото случайным образом и выведите ее на экран. Ваша программа должна запускаться только в том случае, если она не импортирована в виде модуля в другой файл. Примечание. Как вы знаете, в настоящих карточках для игры в лото присутствуют пустые клетки в столбцах. Мы не будем реализовывать эту особенность в нашей программе. |