основы_программирования_на_языке_python. Министерство образования и науки российской федерации федеральное государственное бюджетное образовательное учреждение высшего
Скачать 208.8 Kb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ТОМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ» (ТГПУ) Кафедра информатики Основы программирования на языке Python Курсовая работа Выполнил: студент 3 курс, 436 группы Нуралиев М.К. Научный руководитель: Газизов Т.Т., канд. тех. наук Дата защиты:_____________________ Оценка__________________________ Подпись руководителя_____________ Томск – 2016 СОДЕРЖАНИЕ Введение Роль информатики в развитии общества чрезвычайно велика. Сегодня в мире нет ни одной отрасли науки и техники, которая развивалась бы столь же стремительно, как информатика. Каждый год происходит смена поколений аппаратных и программных средств вычислительной техники. Фактически за последние годы произошла революция в области передачи, накопления и обработки информации. Эта революция, затрагивает все области человеческой жизни. Значительное увеличение возможностей компьютерной техники, развитие информационных сетей, создание новых информационных технологий приводят к сильным изменениям во всех сферах общества: в производстве, науке, образовании, медицине и так далее. Народы развитых стран осознают, что совершенствование информационных технологий представляет самую важную, хотя дорогостоящую и трудную задачу[ CITATION htt \l 1033 ]. В связи с наблюдаемым в настоящее время стремительным развитием персональной вычислительной техники, происходит постепенное изменение требований, предъявляемых к языкам программирования. Все большую роль начинают играть интерпретируемые языки, поскольку возрастающая мощь персональных компьютеров начинает обеспечивать достаточную скорость выполнения интерпретируемых программ. А единственным существенным преимуществом компилируемых языков программирования является создаваемый ими высокоскоростной код. Когда скорость выполнения программы не является критичной величиной, наиболее правильным выбором будет интерпретируемый язык, как более простой и гибкий инструмент программирования. В связи с этим, определенный интерес представляет рассмотрение сравнительно нового языка программирования Python, который был создан его автором Гвидо ван Россумом в начале 90-х годов. Отличительные характеристики языка: очень низкий порог вхождения, уже после одного дня изучения можно начать писать простые программы; минималистичный язык, с небольшим количеством конструкций; краткий код; прекрасно подходит для создания программ-обёрток, поддерживается импорт Си-библиотек; существует большое количество реализаций: CPython (основная реализация); Jython (реализация для JVM); IronPython (CLR); PyPy; очень хорошая поддержка математических вычислений (библиотеки NumPy, SciPy); используется для обработки естественных языков (NLTK); большое количество развитых web-фреймворков (Django, TurboGear, CherryPy, Flask). Язык можно рекомендовать всем, кто только начинает программировать, как первый язык программирования в жизни. Цель курсовой работы Целью данной работы является: создание учебно — методического комплекса по изучению языка программирования Python. Язык программирования Python Python — современный язык программирования, работающий на всех распространенных операционных системах для настольных компьютеров. Язык программирования Питон разрабатывается чуть более 20 лет. В настоящее время активно используется две версии языка — более старая версия 2 и современная версия. Версия 2 более не развивается, но до сих пор еще используется, поскольку очень много программного обеспечения и библиотек разработано именно для версии 2. Между версиями есть существенная несовместимость, в том числе в синтаксисе команд ввода-вывода (программа на языке Python 2-й версии может не работать в 3-й версии и наоборот), но в целом они очень похожи. Мы будет использовать именно версию 3, как более современную и совершенную. Python — современный универсальный интерпретируемый язык программирования. Его достоинства: Кроссплатформенность и бесплатное распространение. Простой синтаксис и богатые возможности позволяют записывать программы очень кратко, но в то же время понятно. По простоте освоения язык сравним с бейсиком, но куда более богат возможностями и значительно более современен. Богатая стандартная библиотека, возможность разработки промышленных приложений (для работы с сетью, GUI, базами данных и т.д.) Установка интерпретатора Пример установки на Windows x64: Скачиваем дистрибутив Python3 с официального сайта python.org (рис. 1). Рисунок 1. Загрузка дистрибутива. Для установки дистрибутива дополнительных настроек не требуется, поэтому нажимаем Next на всех этапах установки (рис. 2). Рисунок 2. Установка дистрибутива Python3. Дистрибутив установлен, чтобы проверить работу Python3, откроем командную строку Windows(Пуск > Выполнить > cmd) и в командной строке напишем python, если все нормально, то вы будете наблюдать следующий текст на экране (рис. 3). Рисунок 3. Среда разработки Python3. Напишем следующий код в командной строке: print(“Hello World!!!”) Если все верно, то в консоль выведется “Hello World!!!” (рис. 4). Рисунок 4. Результат выполнения программы. Дистрибутивы для установки: Windows, 32-бита: http://python.org/ftp/python/3.4.1/python-3.4.1.msi Windows, 64-бита: http://python.org/ftp/python/3.4.1/python-3.4.1.amd64.msi Дистрибутивы для Mac OS X есть на странице http://python.org/download/releases/3.4.1/ Для операционных систем GNU/Linux язык Питон скорее всего есть в дистрибутиве, для чего необходимо поставить пакет python3. Возможно, он уже установлен в вашей системе: проверить это можно командой python3. Для Android есть пакет QPython3. Коментарии Комментарии – это то, что пишется после символа # , и представляет интерес лишь как заметка для читающего программу. Например: print('Привет, Мир!) # print -- это функция или: # print -- это функция print('Привет, Мир!) Числа Числа в Python бывают трёх типов: целые, с плавающей точкой и комплексные. • Примером целого числа может служить 2 . • Примерами чисел с плавающей точкой (или «плавающих» для краткости) могут быть 3.23 и 52.3E-4 . Обозначение E показывает степени числа 10. В данном случае 52.3E-4 означает 52.3 · 10 −4 . • Примеры комплексных чисел: (-5+4j) и (2.3 — 4.6j) Строки Строка – это последовательность символов. Чаще всего строки – это просто некоторые наборы слов. Слова могут быть как на английском языке, так и на любом другом, поддерживаемом стандартом Unicode, что означает почти на любом языке мира. Иногда бывает нужно составить строку на основе каких-либо данных. Вот здесь-то и пригождается метод format(). Сохраните следующие строки в файл str_format.py : age = 26 name = 'Swaroop' print('Возраст {0} -- {1} лет.'.format(name, age)) print('Почему {0} забавляется с этим Python?'.format(name)) Вывод: $ python str_format.py Возраст Swaroop -- 26 лет. Почему Swaroop забавляется с этим Python? Как это работает: В строку могут быть включены определённые обозначения, а впоследствии может быть вызван метод format для замещения этих обозначений соответ- ствующими аргументами. Взгляните на первый случай применения обозначений, где мы пишем {0} , и это соответствует переменной name , являющейся первым аргументом метода format . Аналогично, второе обозначение {1} соответствует переменной age, являющейся вторым аргументом метода format . Заметьте, что Python начинает отсчёт с 0, поэтому первая позиция – номер 0, вторая – номер 1 и т. д. Заметьте, мы ведь могли добиться того же самого результата и объединением строк: 'Возраст' + name + ' -- ' + str(age) + ' лет.' , однако вы сами видите, как это некрасиво, и как легко в таком случае допустить ошибку. Во вторых, преобразование в строку делается методом format автоматически, в отличие от явного преобразования в нашем примере. В-третьих, используя метод format , мы можем изменить сообщение, не затрагивая используемых переменных, и наоборот. На всякий случай имейте в виду, что цифры здесь не обязательны. Можно было бы просто написать: age = 26 name = 'Swaroop' print('Возраст {} -- {} лет.'.format(name, age)) print('Почему {} забавляется с этим Python?'.format(name)) и получить такой же результат, как и ранее[ CITATION Рус \l 1049 ]. Переменные Слово «переменные» говорит само за себя – их значение может меняться, а значит, вы можете хранить в переменной всё, что угодно. Переменные – это просто области памяти компьютера, в которых вы храните некоторую информацию. В отличие от констант, к такой информации нужно каким-то образом получать доступ, поэтому переменным даются имена. Переменную в Python создать очень просто — нужно присвоить некоторому идентификатору значение при помощи оператора присваивания «=». ПРИМЕР: a=10 b=3.1415926 c=«Hello» d=[1, 2, 3] В этом примере используются четыре переменные: переменная a хранит значение типа int (целое число), переменная b — типа float (действительное число), переменная c — типа str (строка), переменная d — типа list (список, в данном случае из трех целых чисел). Типы данных Переменные могут хранить значения разных типов, называемых типами данных. Основными типами являются числа и строки. Пример: Использование переменных и констант # Имя файла : var.py i = 5 print(i) i = i + 1 print(i) s = '''Это многострочная строка. Это вторая её строчка.''' print(s) Вывод: $ python var.py 5 6 Это многострочная строка. Это вторая её строчка. Как это работает: Вот как эта программа работает. Сперва мы присваиваем значение константы 5 переменной i, используя оператор присваивания ( = ). Эта строка называется предложением и указывает, что должно быть произведено некоторое действие, и в данном случае мы связываем имя переменной i со значением 5. Затем мы печатаем значение i, используя функцию print, которая просто печатает значение переменной на экране. Далее мы добавляем 1 к значению, хранящемуся в i и сохраняем его там. После этого мы печатаем его и получаем значение 6, что неудивительно. Аналогичным образом мы присваиваем строковую константу переменной s, после чего печатаем её. Операторы Обратите внимание, вычислить значения выражений, данных в примерах, можно также используя интерпретатор интерактивно. Например, для проверки выражения 2 + 3 воспользуйтесь интерактивной командной строкой интерпретатора Python: >>> 2 + 3 5 >>> 3 * 5 15 Выражения Пример (сохраните как expression.py ): length = 5 breadth = 2 area = length * breadth print('Площадь равна', area) print('Периметр равен', 2 * (length + breadth)) Вывод: $ python expression.py Площадь равна 10 Периметр равен 14 Как это работает: Длина и ширина прямоугольника хранятся в переменных length и breadth соответственно. Мы используем их для вычисления периметра и площади прямоугольника при помощи выражений. Результат выражения length * breadth сохраняется в переменной area , после чего выводится на экран функцией print. Во втором случае мы напрямую подставляем значение выражения 2 * (length + breadth) в функцию print. Также обратите внимание, как Python «красиво печатает» результат. Несмотря на то, что мы не указали пробела между 'Площадь равна' и переменной area, Python подставляет его за нас, чтобы получить красивый и понятный вывод. Программа же остаётся при этом легкочитаемой (поскольку нам не нужно заботиться о пробелах между строками, которые мы выводим). Оператор if Оператор if используется для проверки условий: если условие верно, выполняется блок выражений (называемый «if-блок»), иначе выполняется другой блок выражений (называемый «else-блок»). Блок «else» является необязательным. Пример: (сохраните как if.py ) number = 23 guess = int(input('Введите целое число : ')) if guess == number: print('Поздравляю, вы угадали,') # Здесь начинается новый блок print('(хотя и не выиграли никакого приза!)') # Здесь заканчивается новый блок elif guess < number: print('Нет, загаданное число немного больше этого.') # Ещё один блок # Внутри блока вы можете выполнять всё, что угодно ... else: print('Нет, загаданное число немного меньше этого.') # чтобы попасть сюда, guess должно быть больше, чем number print('Завершено') # Это последнее выражение выполняется всегда после выполнения оператора if Вывод: $ python if.py Введите целое число : 50 Нет, загаданное число немного меньше этого. Завершено $ python if.py Введите целое число : 22 Нет, загаданное число немного больше этого. Завершено $ python if.py Введите целое число : 23 Поздравляю, вы угадали, (хотя и не выиграли никакого приза.) Завершено Как это работает: В этой программе мы принимаем варианты от пользователя и проверяем, совпадают ли они с заранее заданным числом. Мы устанавливаем переменной number значение любого целого числа, какого хотим. Например, 23. После этого мы принимаем вариант числа от пользователя при помощи функции input() . Функции – это всего-навсего многократно используемые фрагменты программы. Мы узнаем о них больше в следующей главе. Мы передаём встроенной функции input строку, которую она выводит на экран и ожидает ввода от пользователя. Как только мы ввели что-нибудь и нажали клавишу Enter , функция input() возвращает строку, которую мы ввели. Затем мы преобразуем полученную строку в число при помощи int() , и сохраняем это значение в переменную guess . Вообще-то, int – это класс, но на данном этапе вам достаточно знать лишь, что при помощи него можно преобразовать строку в целое число (предполагая, что строка содержит целое число). Далее мы сравниваем число, введённое пользователем, с числом, которое мы выбрали заранее. Если они равны, мы печатаем сообщение об успехе. Обратите внимание, что мы используем соответствующие уровни отступа, чтобы указать Python, какие выражения относятся к какому блоку. Вот почему отступы так важны в Python. Обратите внимание, что в конце оператора if стоит двоеточие – этим мы показываем, что далее следует блок выражений. После этого мы проверяем, верно ли, что пользовательский вариант числа меньше загаданного, и если это так, мы информируем пользователя о том, что ему следует выбирать числа немного больше этого. Здесь мы использовали выражение elif , которое попросту объединяет в себе два связанных if else-if else выражения в одно выражение if-elif-else . Это облегчает чтение программы, а также не требует дополнительных отступов. Выражения elif и else также имеют двоеточие в конце логической строки, за которым следуют соответствующие блоки команд (с соответствующим числом отступов, конечно). Внутри if-блока оператора if может быть другой оператор if и так далее – это называется вложенным оператором if . Помните, что части elif и else не обязательны. Минимальная корректная запись оператора if такова: if True: print('Да, это верно.') После того, как Python заканчивает выполнение всего оператора if вместе с его частями elif и else , он переходит к следующему выражению в блоке, содержащем этот оператор if . В нашем случае это основной блок программы (в котором начинается выполнение программы), а следующее выражение – это print('Завершено') . После этого Python доходит до конца программы и просто выходит из неё. [ CITATION Вом16 \l 1049 ] Оператор while Оператор while позволяет многократно выполнять блок команд до тех пор, пока выполняется некоторое условие. Это один из так называемых операторов цикла. Он также может иметь необязательный пункт else . Пример: (сохраните как while.py ) number = 23 running = True while running: guess = int(input('Введите целое число : ')) if guess == number: print('Поздравляю, вы угадали.') running = False # это останавливает цикл while elif guess < number: print('Нет, загаданное число немного больше этого') else: print('Нет, загаданное число немного меньше этого.') else: print('Цикл while закончен.') # Здесь можете выполнить всё что вам ещё нужно print('Завершение.') Вывод: $ python while.py Введите целое число : 50 Нет, число несколько меньше. Введите целое число : 22 Нет, число несколько больше. Введите целое число : 23 Поздравляю, вы угадали. Цикл while закончен. Завершение. Как это работает: В этой программе мы продолжаем играть в игру с угадыванием, но преимущество состоит в том, что теперь пользователь может угадывать до тех пор, пока не угадает правильное число, и ему не придётся запускать программу заново для каждой попытки, как это происходило до сих пор. Это наглядно демонстрирует применение оператора while. Мы переместили операторы input и if внутрь цикла while и установили переменную running в значение True перед запуском цикла. Прежде всего проверяется, равно ли значение переменной running True, а затем происходит переход к соответствующему while-блоку. После выполнения этого блока команд условие, которым в данном случае является переменная running , проверяется снова. Если оно истинно, while-блок запускается снова, в противном случае происходит переход к дополнительному else-блоку, а затем – к следующему оператору. Блок else выполняется тогда, когда условие цикла while становится ложным ( False ) – это может случиться даже при самой первой проверке условия. Если у цикла while имеется дополнительный блок else , он всегда выполняется, если только цикл не будет прерван оператором break . True и False называются булевым типом данных, и вы можете считать их эквивалентными значениям 1 и 0 соответственно. |