Главная » Просмотр файлов » Саммерфилд - Программирование на Python 3

Саммерфилд - Программирование на Python 3 (1077331), страница 40

Файл №1077331 Саммерфилд - Программирование на Python 3 (Саммерфилд - Программирование на Python 3) 40 страницаСаммерфилд - Программирование на Python 3 (1077331) страница 402018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 40)

Функция вычисления медианы сначала выполняет сортировку чисел по возрастанию. Затем посредством целочисленного деления определяется позиция середины выборки, откуда извлекается число и сохраняется как значение медианы. Если выборка содержит четное число ]ВЗ Примеры значений, то значение медианы определяется как среднее арифмети- ческое двух чисел, находящихся в середине. оег са1си!асе зсо оеч(пивьегз, аеап): Сота1 = 0 Гог пиаЬег сп пиаЬегз соса1 а= ((пиаьег - веап) ** 2) чагсапсе = Сота1 / (1еп(пиаЬегз) - 1) гесигп васа.загс(чаг1апсе) Стандартное отклонение — это мера дисперсии; оно определяет, как сильно отклоняются значения в выборке от среднего значения.

Вычисление стандартного отклонения в этой функции выполняется по формуле Е хах и-1 У где х — очередное число, х — среднее значение, а и — количество чисел. оег рыпс гези1сз(соипс, я(асса(соя); геа1 = "9.2Г' сг зсас1зсссз.аоое ся ропе; воое11пе = "" е)т( 1еп(зсассзтссз.воее) == т: аоое1спе = "воое = (0.((ас))ттп".(огвас( ягассзссся.воре[0], гас=геа1) е1зе; восе1спе = ("аосе = [" а ".)о1п(["(О;.2()".Гогаат(а) (ог а сп зсаСпнссз,воое]) а "]ттп") ргспс("""1 сосет = (О.'О) аеас = (1.аеап.(гвс)) веосап = (т.аес1ап:((ат)) (2)1 ясо, оеч, = (т.зсс Оеч:(гвс))""".(огаас( соипс, масса(соя, воое11пе, гас=геа1)) Большая часть этой функции связана с форматированием списка модальных значений в строку аоое11пе.

Если го„аас() модальные значения отсутствуют, то строка аобе1спе во- стр.100 обще не выводится. Если модальное значение единственное, список модальных значений содержит единственный элемент [аоое(0]), который и выводится с той же строкой форматирования, что используется при выводе других статистических значений. Если имеется несколько модальных значений, они выводятся как список, в котором каждое значение форматируется отдельно.

Делается это с помощью генератора списков, который позво- Глава 3. Типы коллекций 184 ляет получить список строк с модальными значениями; строки затем объединяются в единую строку, где отделяются друг от друга запятой с пробелом (", "). Последняя инструкция рг(пГ() в самом конце получилась очень простой благодаря использованию именованного кортежа. Он позволяет обращаться к статистическим значениям в объекте вгаг1зг(сз, используя не числовые индексы, а их имена, а благодаря строкам в тройных кавычках мы смогли отформатировать выводимый текст наглядным способом.

В этой функции имеется одна особенность, о которой следует упомянуть отдельно. Строка с модальными значениями выводится с помощью элемента строки формата (2), за которым следует символ обратного олеша. Символ обратного олеша экранирует символ перевода строки, поэтому если строка с модальными значениями пустая, то пустая строка выводиться не будет. Именно по этой причине мы вынуждены были добавить символ ~л в конец строки воое11ле, если она не пустая.

В заключение В этой главе мы рассмотрели все встроенные типы коллекций в языке Ру(лоп, а также пару типов коллекций из стандартной библиотеки. Мы рассмотрели коллекции-последовательности, Гцр1е, со11есГ(олз. лазвстцр1е и 11вт, поддерживающие, как и строки, возможность извлечения срезов. Также было рассмотрено использование оператора распаковывания последовательностей (*) и коротко было упомянуто использование аргументов со звездочками в вызовах функций. Мы также рассмотрели типы множеств вет и Ггоаелвет и типы отображений С(ст и со11ес11олв.ов(аз1ГО1сГ. Мы узнали, как использовать именованные кортежи из стандартной библиотеки языка Ру(Ьоп для создания своих собственных типов кортежей, доступ к элементам которых выполняется не только с помощью числовых индексов, но и более удобным способом — с помощью имен.

Мы также увидели, как создавать «константы ь, используя для этого переменные, идентификаторы которых состоят исключительно из символов верхнего регистра. При изучении списков мы увидели, что все, что применимо к кортежам, в равной степени применимо и к спискам. А благодаря тому, что списки относятся к категории изменяемых объектов, они обладают гораздо более широкими функциональными возможностями, чем кортежи.

В число этих возможностей входят методы, изменяющие содержимое списка (например, 11в1. роз()), а поддержка операций со срезами обеспечивает возможность вставки, замены и удаления срезов. Списки идеально подходят для хранения последовательностей элементов, особенно, когда необходим быстрый доступ к элементам по их индексам. В заключение 185 При обсуждении типов эе1 и ггозегэег мы отметили, что они могут содержать только элементы хешируемых типов данных. Множества обеспечивают быструю работу оператора проверки на вхождение и удобны для фильтрации повторяющихся данных.

Словари отчасти напоминают множества, например, ключами словарей могут быть только уникальные значения хешируемых типов данных, как и элементы множеств. Но, в отличие от множеств, словари хранят пары ключ-значение, в которых значениями могут быть данные любых типов. При изучении словарей были охвачены методы С[сг. Ве1() и С[сг. эе(сегар11(), а при описании словарей со значениями по умолчанию были продемонстрированы альтернативы этим методам. Подобно множествам, словари предоставляют очень эффективный оператор проверки на вхождение и обеспечивают быстрый доступ к элементам по ключу. Списки, множества, словари — все они имеют собственные реализации генераторов, которые могут использоваться для создания коллекций этих типов из итерируемых объектов (которые в свою очередь также могут быть генераторами), с наложением дополнительных условий, если это необходимо.

Функции гаазе() и ззр() часто используются для создания коллекций; обе эти функции удобно использовать в циклах гог ... ш и в генераторах. Элементы изменяемых коллекций могут удаляться с помощью соответствующих методов, таких как 1[Б1. рор( ) и зе1. С[эсаге(), или с помощью инструкции се1 — например, инструкция се1 С[К) удалит из словаря с элемент с ключом К. В языке Ру1Ьоп используются ссылки на объекты, что делает операцию присваивания чрезвычайно эффективной, но это также означает, что при использовании оператора присваивания (=) сами объекты не копируются. Мы рассмотрели различия между поверхностным и глубоким копированием, а позднее увидели, как с помощью операции извлечения среза 1[: ) можно создать поверхностную копию всего списка, а с помощью метода сзсГ.сору() создать поверхностную копию словаря. Любой объект, допускающий возможность копирования, может быть скопирован с помощью функций из модуля сору, например, функция сору.

сору() выполняет поверхностное копирование, а функция сору. Сеерсору() выполняет глубокое копирование. Мы познакомились с высокооптимизированной встроенной функцией зог1еО(). Эта функция широко используется при программировании на языке Ру1йоп. В языке Ру$Ьоп отсутствуют типы упорядоченных коллекций, поэтому, когда необходимо выполнить итерации через коллекции в определенном порядке, это можно реализовать с помощью функции эогтео(). Встроенных типов коллекций — кортежей, списков, множеств, фиксированных множеств и словарей — вполне достаточно для решения лю- Глава 3.

Типы коллекций 186 бого круга задач. Тем не менее в стандартной библиотеке имеется несколько дополнительных типов коллекций и значительное количество типов, созданных сторонними разработчиками. Часто возникает необходимость читать коллекции данных из файлов или записывать содержимое коллекций в файлы. В этой главе, в ходе очень краткого рассмотрения принципов работы с текстовыми файлами, основное наше внимание мы уделили чтению и записи текстовых строк. Полное описание работы с файлами приводится в главе 7, а дополнительные средства сохранения данных — в главе 11. В следующей главе мы поближе познакомимся с управляющими конструкциями языка Руб)юп, среди которых будет представлена одна конструкция, с которой мы еще не сталкивались.

Кроме того, мы более подробно изучим тему обработки исключений и некоторые дополнительные инструкции, такие как аввег(, с которыми мы еще не знакомы. Помимо этого, мы рассмотрим порядок создания собственных функций и в частности изучим чрезвычайно гибкий механизм работы с аргументами, используемый в языке Ру$Ьоп. Упражнения 1. Модифицируйте программу ехгегпа1 з!(езару и задействуйте в ней словарь со значениями по умолчанию. Это легко сделать, добавив одну дополнительную инструкцию !арог! и изменив всего две строки. Решение приводится вфайлеехгегпа1 з(вез апзру. 2. Модифицируйте программу ип1гТиегрогдз2.ру так, чтобы она выводила слова не в алфавитном порядке, а по частоте встречаемости.

Характеристики

Тип файла
DJVU-файл
Размер
6,88 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее