книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Скачать 2.24 Mb.
|
Упражнение 89. Переводим целые числа в числительные(47 строк) Такие слова, как первый, второй, третий, являются числительными. В данном упражнении вам необходимо написать функцию, принимающую на вход в качестве единственного аргумента целое число и возвращающую строковое значение, содержащее соответствующее числительное (на английском языке). Ваша функция должна обрабатывать числа в диапазоне от 1 до 12. Если входящее значение выходит за границы этого диапазона, вывод должен оставаться пустым. В основной программе запустите цикл по натуральным числам от 1 до 12 и выведите на экран соответствующие им числительные. Ваша программа должна запускаться только в том случае, если она не импортирована в виде модуля в другой файл. Упражнение 90. Двенадцать дней Рождества(Решено. 52 строки) «Двенадцать дней Рождества» (The Twelve Days of Christmas) – старая английская песня, построение которой базируется на постоянно увеличивающемся списке подарков в каждый из 12 дней Рождества. В первый день был послан один подарок, в следующий – второй и т. д. Первые три куплета песни приведены ниже. Полностью текст песни можно без труда найти в интернете. On the first day of Christmas my true love sent to me: A partridge in a pear tree. On the second day of Christmas my true love sent to me: Two turtle doves, And a partridge in a pear tree. On the third day of Christmas my true love sent to me: Three French hens, Two turtle doves, And a partridge in a pear tree. Напишите программу, которая будет сама строить куплеты этой песенки. В программе должна присутствовать функция для отображения одного куплета. В качестве входного параметра она должна принимать порядковый номер дня, а в качестве результата возвращать готовый куплет. Далее в основной программе эта функция должна быть вызвана 12 раз подряд. Каждая строка с очередным подарком должна присутствовать в вашей программе лишь раз, за исключением строки «A partridge in a pear tree». В этом случае вы можете отдельно хранить такой вид строки для первого куплета и слегка измененный («And a partridge in a pear tree») – для всех последующих. Импортируйте свою функцию из упражнения 89 для выполнения этого задания. Упражнение 91. Григорианский календарь в порядковый(72 строки) Порядковая дата содержит номер года и порядковый номер дня в этом году – оба в целочисленном формате. При этом год может быть любым согласно григорианскому календарю, а номер дня – числом в интервале от 1 до 366 (чтобы учесть високосные годы). Порядковые даты удобно использовать при расчете разницы в днях, когда счет ведется именно в днях, а не месяцах. Например, это может касаться 90-дневного периода возврата товара для покупателей, расчета срока годности товаров или прогнозируемой даты появления малыша на свет. Напишите функцию с именем ordinalDate, принимающую на вход три целых числа: день, месяц и год. Функция должна возвращать порядковый номер заданного дня в указанном году. В основной программе у пользователя должны запрашиваться день, месяц и год соответственно и выводиться на экран порядковый номер дня в заданном году. Программа должна запускаться только в том случае, если она не импортирована в виде модуля в другой файл. Упражнение 92. Порядковая дата в григорианский календарь(103 строки) Разработайте функцию, принимающую в качестве единственного параметра порядковую дату, включающую в себя год и день по порядку. В качестве результата функция должна возвращать день и месяц, соответствующие переданной порядковой дате. Убедитесь, что ваша функция корректно обрабатывает високосные годы. Используйте эту функцию, а также функцию ordinalDate, написанную при выполнении упражнения 91, для разработки основной программы. Для начала должен производиться запрос порядковой даты у пользователя. После этого программа должна вычислить вторую дату, отстоящую от первой на определенное количество дней. Например, ваша программа могла бы запрашивать у пользователя порядковую дату, когда был приобретен товар, и выводить последнюю дату, когда можно осуществить возврат (согласно определенным правилам возврата товаров). Или вы могли бы спрогнозировать дату появления ребенка на свет на основании срока беременности в 280 дней. Удостоверьтесь, что программа корректно обрабатывает ситуации, когда заданная дата и расчетная находятся в разных годах. Упражнение 93. Центрируем строку(Решено. 29 строк) Напишите функцию, которая будет принимать в качестве параметров строку s, а также ширину окна в символах – w. Возвращать функция должна новую строку, в которой в начале добавлено необходимое количество пробелов, чтобы первоначальная строка оказалась размещена по центру заданного окна. Новая строка должна формироваться по следующему принципу: если длина исходной строки s больше или равна ширине заданного окна, возвращаем ее в неизменном виде; в противном случае должна быть возвращена строка s с ведущими пробелами в количестве (len(s) – w) // 2 штук. В вашей основной программе должен осуществляться пример вывода нескольких строк в окнах разной ширины. Упражнение 94. Треугольник ли? (33 строки) Всем известно, что из трех веточек разной длины далеко не всегда можно составить треугольник, соединив их концы. Например, если все они будут длиной 6 см, можно без труда построить равносторонний треугольник. Но если одна веточка будет длиной 6 см, а остальные две длиной 2 см, треугольник просто не получится. Правило здесь простое: если длина одной стороны больше или равна сумме двух оставшихся сторон, треугольник НЕ образуется. Иначе это возможно. Напишите функцию для определения возможности построения треугольника на основании длин трех его потенциальных сторон. Функция должна принимать три числовых параметра и возвращать булево значение. Если длина хотя бы одной из трех сторон меньше или равна нулю, функция должна вернуть False. В противном случае необходимо выполнить проверку на допустимость построения треугольника на основании введенных длин сторон и вернуть соответствующее значение. Напишите основную программу, запрашивающую у пользователя длины сторон и выводящую на экран информацию о том, может ли при заданных значениях получиться треугольник. |