Главная » Все файлы » Просмотр файлов из архивов » Файлы формата DJVU » Саммерфилд - Программирование на Python 3

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

DJVU-файл Саммерфилд - Программирование на Python 3, страница 12 Основы автоматизированного проектирования (ОАП) (2112): Книга - 3 семестрСаммерфилд - Программирование на Python 3: Основы автоматизированного проектирования (ОАП) - DJVU, страница 12 (2112) - СтудИзба2018-01-10СтудИзба

Описание файла

DJVU-файл из архива "Саммерфилд - Программирование на Python 3", который расположен в категории "". Всё это находится в предмете "основы автоматизированного проектирования (оап)" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "основы автоматизированного производства (оап)" в общих файлах.

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 12 - страница

Для числа столбцов и строк мы передаем в аргументе де(ац1! значение попе, что означает отсутствие значения по умолчанию, то есть пользователь должен ввести целое число. При запросе минимального значения мы указали значение по умолчанию О, а при запросе максимального значения выбирается значение по умолчанию 1000, или в два раза больше минимального значения, если минимальное значение окажется больше или равно 1000. Как уже отмечалось в предыдущем примере, список аргументов при вызове функции может занимать любое число строк в исходном программном коде, при этом величина отступов во второй и последующих строках не будет иметь значения. Получив от пользователя число строк и столбцов, а также желательные минимальное и максимальное значения случайных чисел, можно приступать к работе. гон = 0 впт1е гон < гона 1ше = "" со1цап = 0 нпт1е со1цап < со1цвпа: ! = гапцоа.гапцтпт(а!п!вца, пах!все) 5 = а!Г(1) нлт!е 1еп(а) < 1О: 5= та 1тпе += а со)цвп += ! рг!пт(1!пе) гсн а= 1 Для создания матрицы мы используем три цикла нл!1е.

Внешний цикл обрабатывает строки, средний — столбцы и внутренний — символы. В среднем цикле мы получаем случайное число из указанного диапазона и преобразуем его в строку. Внутренний цикл ип!1е обеспечивает дополнение строки ведущими пробелами так, чтобы каждое число было представлено строкой из 10 символов. Строка 11пе используется для накопления чисел в строке матрицы, которая выводится после того, как будут добавлены числа для всех колонок. На этом мы завершаем наш второй пример.

В закпючение Язык РуФЬоп предоставляет весьма широкие возможно- М»тол эйг. сти по форматированию строк, а также обеспечивает го,эе»() поддержку цикла гог ... 1п. Поэтому в более реалистич- спк 100 ных версиях ЫуЫуггеру и уепегаге угЫ.ру можно было бы использовать циклы гог ... [и, а в уепега1е угЫру можно было бы также использовать возможности языка Ру$Ьоп по форматированию строк вместо неуклюжего приема дополнения пробелами.

Но мы ограничили себя восемью составляющими языка Ру1поп, представленными в этой главе, которых оказалось вполне достаточно для написания законченных и полезных программ. В каждой последующей главе мы будем знакомиться с новымн особенностями языка РУФЬоп, поэтому по мере продвижения вперед мы будем видеть (и обретать способность писать) все более сложные программы. 8 заключение В этой главе мы узнали, как редактировать и запускать программы на языке Ру()1оп. и рассмотрели пару маленьких, но законченных программ. Но большая часть главы была посвящена восьми составляющим»золотого запаса» языка РУФЬоп, знания которых вполне достаточно для создания настоящих программ. Мы начали с двух основных типов данных в языке Ру$Ьоп — 1пг и эг г.

Целочисленные литералы записываются точно так же, как и во многих других языках программирования. Строковые литералы записываются либо с помощью кавычек, либо с помощью апострофов. Неважно, что будет использоваться — кавычки или апострофы, главное, чтобы с обоих концов литерала использовался один и тот же тип кавычек. У нас имеется возможность выполнять преобразования между строками и целыми числами, например, [пг("250") и эгг(125). Если преобразование строки в целое число терпит неудачу, возбуждается исключение Ча[ое5ггог; с другой стороны, в строку может быть преобразовано практически все, что угодно.

Строки — это последовательности, поэтому те функции и операции, которые могут применяться к последовательностям, могут применяться и к строкам. Например, обратиться к определенному символу можно с помощью оператора доступа ([)), конкатенацию строк можно выполнить с помощью оператора», а дополнение одной строки другой — с помощью оператора»=. 'Гак как строки являются неизменными объектами, операция дополнения строки за кулисами создает новую строку, представляющую собой результат конкатенации заданных строк, и перепривязывает ссылку на строковый объект, указанный слева от знака =, на результирующую строку.

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

В языке Ру(Ьоп имеется несколько встроенных типов коллекций, а также ряд типов коллекций имеется в стандартной библиотеке. Мы познакомились с типами 1[зт и тчр1е, в частности, мы узнали, как создавать кортежи и списки из литералов, например, ечеп = [2, 4, 6, 8). Списки, как и все остальное в языке Ру(Ьоп, являются объектами, поэтому мы можем пользоваться их методами. например, вызов метода ечеп.аррепо(10) добавит дополнительный элемент в список. Подобно строкам, списки и кортежи являются последовательностями, благодаря чему можно выполнять итерации по их элементам, используя цикл Гог ...

1п, и определять количество элементов в коллекции с помощью функции 1еп(). Кроме того, имеется возможность извлекать из списков или кортежей отдельные элементы, используя оператор доступа к элементам ([]), объединять два списка или кортежа с помощью оператора + и дополнять один список другим с помощью оператора +=. Если потребуется добавить в конец списка единственный элемент, можно использовать метод 1[зт.аррепо() или оператор г=, которому следует передать список, состоящий из одного элемента, например, ечеп += [12).

Поскольку списки являются изменяемыми объектами, для изменения отдельных элементов можно использовать оператор [), например, ечеп[1) = 16. Быстрые операторы та и пот [з удобно использовать, чтобы выяснить, не ссылаются ли две ссылки на один и тот же объект, что очень удобно, особенно когда выполняется проверка ссылки на уникальный встроенный объект Ноле. В вашем распоряжении имеются все обычные операторы сравнения («, =, ==,! =, » ), но они могут использоваться только с совместимыми типами данных и только с теми, которые поддерживают эти операции.

Мы пока познакомились только с типами данных тпт, зт г, 1[ат и тср1е — все они поддерживают полный набор операторов сравнения. Попытка сравнения несовместимых типов, например, сравнение типа 1пт с типом зт г или 1[зт, будет приводить к возбуждению исключения ТуреЕггог. Язык РуФЬоп поддерживает стандартные логические операторы апс, ог и пот. Выражения с участием операторов апг) и ог вычисляются по сокращенной схеме и возвращают операнд, определяющий результат выражения, причем результат не обязательно будет иметь тип Воо1еап В заключение 63 (хотя и может быть приведен к типу Воо1еап).

Оператор пег всегда дает в результате либо Тгае, либо га1ае. У нас имеется возможность проверить вхождение элементов в последовательности, включая строки, списки и кортежи, используя операторы (п и пег 1п. Проверка на вхождение в списки и кортежи производится с использованием медленного алгоритма линейного поиска, а проверка вхождения в строки реализует потенциально более скоростной гибридный алгоритм, но производительность в этих случаях редко является проблемой, за исключением случаев использования очень длинных строк, списков и кортежей.

В главе 3 мы познакомимся с такими типами коллекций, как ассоциативные массивы и множества, для которых операция проверки на вхождение выполняется очень быстро. Кроме того, с помощью функции гуре() можно определить тип объекта, на который указывает ссылка, но обычно эта функция используется только для нужд тестирования и отладки. Язык РуФ)зоп предоставляет несколько управляющих структур, включая условный оператор 1г ... е11( ... е1ае, цикл с предусловием нпз1е, цикл по последовательности Тог ... зп и конструкцию обработки исключений Ггу ...

ехсерг. Имеется возможность преждевременно прерывать циклы нз(1е и гсг ... зп с помощью инструкции Ьгеаа или передавать управление в начало цикла с помощью инструкции соп11ппе. В языке РУФ)зоп имеется поддержка обычных арифметических операторов, включая ь, -, * и /, единственная необычность состоит в том, что оператор / всегда возвращает число с плавающей точкой, даже если оба операнда являются целыми числами. (Целочисленное деление, имеющееся во многих других языках программирования, реализовано и в языке Ру$)зоп — в виде оператора //.) Кроме того, язык Ру()зоп предоставляет комбинированные операторы присваивания, такие как ь= и *=. Они за кулисами создают новые объекты, если слева находится неизменяемый операнд. Как уже отмечалось ранее, арифметические операторы перегружены для применения к операндам типов агг и 1зат.

Консольный ввод/вывод можно реализовать с помощью функций зпраг() и рг)пг(), а благодаря возможности перенаправлять ввод/вывод в файлы, мы можем использовать те же самые встроенные функции для чтения и записи файлов. В дополнение к богатому набору встроенных функциональных возможностей имеется обширная стандартная библиотека; модули становятся доступными после импортирования их с помощью инструкции ппрогк Одним из наиболее часто импортируемых модулей является модуль ауа, в котором имеется список ауа, агрт, хранящий аргументы командной строки. Если в языке РуФ)зоп отсутствует какая-либо необходимая нам функция, с помощью инструкции се( мы легко можем создать свою собственную функцию, действующую так, как нам нужно.

64 Глава 1. Быстрое введение в процедурное программирование Используя функциональные возможности, описанные в этой главе, уже можно писать короткие и полезные программы на языке Руб?топ. В следующей главе мы больше узнаем о типах данных в языке РубЬоп, более подробно рассмотрим типы тпт и эт г, а также познакомимся с некоторыми совершенно новыми типами данных. В главе 3 мы больше узнаем о кортежах, списках, а также о некоторых других типах коллекций в языке РуеЬоп. Затем в главе 4 мы более подробно рассмотрим управляющие структуры языка Руейоп и узнаем, как создавать свои функции, позволяющие избежать дублирования программного кода и способствующие многократному его использованию.

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