Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы работы в Python. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
791 Кб
Скачать

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Российский государственный педагогический университет

им. А. И.Герцена»

А. А. Лужков, А. С. Тюканов

Основы работы в Python: учебный компьютерный практикум

Учебно-методическое пособие

Санкт-Петербург Издательство РГПУ им. А. И. Герцена

2022

ББК 32.972.13

Печатается по решению редакционно-

ББК 22.3я73

издательского совета ФГБОУ ВО «Российский

Л82

государственный педагогический университет

 

им. А. И. Герцена»

Рецензенты: В. Э. Гасумянц, доктор физико-математических наук, профессор (Институт электроники и телекоммуникаций Санкт-Петербургского политехнического университета Петра Великого);

А. В. Марченко, доктор физико-математических наук, профессор (РГПУ им. А. И. Герцена)

Л82 Лужков А. А. Тюканов А. С. Основы работы в Python :

учебный компьютерный практикум : учеб.-метод. пособие / А. А. Лужков, А. С. Тюканов. — Санкт-Петербург : Издательство РГПУ им. А.И.Герцена, 2022. — 76 с.

ISBN: 978-5-8064-3224-8

Пособие содержит справочный материал и необходимый набор лабораторных и индивидуальных заданий для инвариантной самостоятельной работы.

Предназначено для студентов бакалавриата, обучающихся по направлению 03.03.02 «Физика» и 44.03.01 «Педагогическое образование» (профиль физическое образование), в качестве методического сопровождения компьютерно-ориентированных дисциплин: «Основы программирования» и «Компьютерный практикум по решению физических задач».

ББК 32.972.13 ББК 22.3я73

А. А. Лужков, А. С. Тюканов, 2022

С. В. Лебединский (обложка), 2022

ISBN 978-5-8064-3224-8 Издательство РГПУ им. А. И. Герцена, 2022

Содержание

Введение……………………………………………...

4

1. Базовые элементы языка. Начало работы в IDLE….

5

2.Стандартные алгоритмические структуры……….... 10

3.Математические функции. Модули math и random.. 15

4. Типы данных – основные сведения………………… 19

5.Подпрограммы………………………………………. 24

6.Элементы графики – модуль Turtle……………….... 28

7. Задания для лабораторного практикума………….. 33

8.Модуль Tkinter. Графический интерфейс пользователя…………………………………………. 35

9.Модуль NymPy. Прикладные задачи………………. 46

10. Индивидуальные задания…………………………… 65 Список литературы………………………………………75

3

Введение

Python (Пайтон, Питон) – популярный современный язык про-

граммирования высокого уровня, реализующий принцип повышение

производительности разработчика при максимальной простоте записи

кода. Он отличается наличием как стандартных библиотек с большой

объём необходимых функций, так и постоянно пополняющимся спис-

ком новых библиотек, направленных на решение прикладных задач.

По этой причине Python широко используется для компьютерного

практикума по целому ряду дисциплин.

Данное пособие предназначено для организации практических за-

нятий в компьютерном классе, входящих в учебный план дисциплины

«Основы программирования» для студентов факультета физики. По

этой причине основной материал изложен конспективно и фактически

представляет собой краткий справочник, необходимый для выполне-

ния заданий, и сами задания. Задания делятся на фронтальные ауди-

торные, в том числе предназначенные для работы в мини-группах, и внеаудиторные, представленные в виде набора индивидуальных вариантов. Полученные на занятиях практические навыки предполагается в дальнейшем использовать для следующих дисциплин: «Решение физических задач на компьютере», «Компьютерное моделирование

вфизике», «Вычислительная физика» и т. д.

Вразделах 1–7 содержаться базовые сведения о Python и набор компьютерных лабораторных работ. В разделе 8 демонстрируются элементы объектно-ориентированного и событийно-управляемого программирования. В разделе 9 рассматривается один из прикладных модулей для решения вычислительных задач. В разделе 10 содержатся варианты заданий для инвариантной самостоятельной «домашней» работы.

Учебное пособие предназначено для образовательного процесса, основанного на целенаправленной и контролируемой преподавателем

самостоятельной работе студентов (как аудиторной, так и внеаудитор-

ной), обеспечивающей развитие обще профессиональных и професси-

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

4

1. Базовые элементы языка. Начало работы в IDLE

Для любой версии Python программный код на этом языке выполняется интерпретатором, который должен быть установлен на компьютере. В данном пособии используются два режима работы в Python: интерактивный режим и режим исполнения программного кода. Программа на языке Python в самой простой форме – это обычный текстовый файл с расширением *.py, содержащий инструкции (код). Напри-

мер, файл с именем my_file.py, содержащий текст: print(’herzen university’)

print(2**100)

является программой на языке Python (между прочим, второй оператор

выведет 2100 = 1267650600228229401496703205376).

Работа в интерактивном режиме

Такой способ подходит для освоения элементов языка, проверки

правильности инструкций и организации кратких расчетов. Вход в режим интерпретатора будем осуществлять через меню графического интерфейса IDLE. Python IDLE – интегрированная среда разработки на языке Python. (IDLE = Integrated DeveLopment Environment). Для этого следует запустить файл с именем IDLE (IDLE (Python 3.n GUI – 32(/64) bit)) в папке Python. В открывшемся окне Python Shell (оболочка Python), будет присутствовать приглашение для ввода инструкций (>>>). После ввода инструкции нажимаем Enter. В результате получим, например, следующую цепочку:

>>> 2*3 6

>>>

Среда Python Shell позволяет также открыть окно для написания кода программы и её запуска на выполнение. Для создания кода программы следует открыть меню «файл» пункт «новый» набрать код и запустить через Run (Запустить) → Run Module (Запустить модуль). Через меню «файл» также можно открыть и уже существующий файл. Другой способ – найти файл с расширением *.py и в контекстном меню такого файла выбрать пункт Edit with IDLE – откроется окно для редактирования кода программы и её запуска.

5

Инструкция (оператор) присваивания

Инструкция присваивания создает ссылку на объект. Переменные создаются при первом присваивании. Прежде чем переменную можно

будет использовать, ей должно быть присвоено значение. Стандартная

форма

инструкции

присваивания

использует знак

равенства:

x = 15. Важно: Python различает строчные и прописные буквы.

В языке Python используется динамическая типизация (типы

данных

определяются

автоматически

и их не требуется

объявлять

в программном коде), но при этом он является языком со строгой ти-

пизацией (можно выполнять над объектом только те операции, кото-

рые применимы к его типу).

В Python предусмотрены расширенные варианты использования

инструкции присваивания, которые приведены в таблице ниже:

Групповое

Последовательное

Присваивание

присваивание

присваивание

с перестановкой

a = b = 1

a, b = 1, 2

a, b = b, a

>>> a=b=1

>>> a,b = 1,2

>>> a,b = b,a

>>> a,b

>>> a,b

>>> a,b

(1, 1)

(1, 2)

(2, 1)

Простые примеры применения инструкции присваивания:

>>> X,Y = 3,5

 

>>> a,b

= 15,(1,2,3)

 

>>> X,Y = Y, X*Y

 

>>> a =

15

>>> X,Y

 

>>> b

3)

(5, 15)

 

(1, 2,

С помощью указателя звездочка (*) можно присваивать перемен-

ным значения элементов составных объектов. Сравните:

>>> a= 'abcde'

 

>>> a,*b='abcde'

 

>>>a,b='abcde'

 

 

>>> a

 

>>> a

 

'abcde'

 

'a'

 

А такой вариант

 

 

>>> b

 

 

 

['b','c','d','e']

 

выдаст ошибку.

Важно: количество переменных слева от оператора присваивания

должно соответствовать набору элементов из списка присваивания

справа от оператора присваивания.

Инструкции print() и input()

Для вывода данных можно использовать функцию print, формат записи которой имеет вид: print(список вывода). Например:

6

>>> print(X,Y) 5 15

Для разделения набора выводимых значений предусмотрены спе-

циальные атрибуты:

sep – набор символов, вставляемых между данными при выводе. Значение по умолчанию – пробел. Если sep = символ «пусто» (то есть

'') – разделителя не будет.

end – набор символов, добавляемых в конец выводимого текста.

По умолчанию это символ переноса строки \n. Если end = '', то следующий вывод через print продолжится без переноса строки.

Сучетом этих атрибутов функцию вывода записывают в виде

print(…, …, … , sep='……',

end='\n')

Например:

 

>>> x=3; y=5

end='\n')

>>> print(x,y,x*y, sep=' *** ',

3 *** 5 *** 15

 

>>>

 

Рассмотрим программу с разными вариантами атрибутов вывода:

x = 'herzen'; y = 123; z =

'python'

 

print(x, y, z)

#

Выведет

три объекта

print()

#

Выведет

пустую строку

print(x, y, z, sep='')

#Разделителя

не будет

print(x, y, z, sep=', ') #Разделитель

запятая

При запуске программы получим следующие строчки: herzen 123 python

herzen123python herzen, 123, python

С помощью функции input()можно передать данные в про-

грамму, причем только форме строки. Например, инструкция x=input('текст'), предлагает ввести после сообщения 'текст',

некоторую строку, которая будет присвоена переменной x. Чтобы передать число, нужно преобразовать строку с помощью функций пре-

образования типов int(x) и float(x), например: a = input("введите a ")

b

=

int(a) # преобразует строку a в целое число

b

=

float(a) # преобразует a в вещественное число

7

Арифметические выражения

Список основных наиболее употребляемых математических действий

x + y

 

Сложение,

 

 

abs(x)

Модуль числа

 

x - y

 

Вычитание

 

 

 

 

 

 

 

 

 

x * y

 

Умножение,

 

divmod(x, y)

Пара значений

 

x / y

 

Деление

 

(x // y, x % y)

 

x // y

 

Целая часть

 

 

x ** y

Возведение

 

 

от деления

 

 

в степень xy

 

x % y

 

Остаток

 

pow(x,y[,z])

xy (по модулю z,

 

 

от деления

 

если модуль задан)

 

Обратите внимание: если записать 3.5 % 1 , то получим 0.5.

Рассмотрим несколько простых примеров:

 

 

>>> 7//2

 

>>> 3*'abc'

 

>>> 2**8

>>> pow(2,0.5)

3

 

 

'abcabcabc'

 

256

1.41421356237…

Отметим, что строковые переменные типа 'abc'можно записывать как в одинарных, так и в двойных кавычках. Как и в других языках, в Python имеется встроенный набор функций преобразования типов. Вот список некоторых из них:

int(x)

целая часть числа

bin(x)

перевод в двоичный код

round(x)

округление

str(x)

Перевод числа в стро-

ковое представление

float(x)

Перевод в число с

ord(x)

Возвращает код

плавающей точкой

символа

complex(x, y)

Создает комплексное число вида

x+y j, где j – мнимая единица

 

 

Важно отметить, что результат применения этих функций зависит от типа аргумента, например для int и float переменная x может быть строкой. Рассмотрим примеры

код программы

результат

 

 

x=21

21 = 0b10101 = 0b10101

z=bin(x)

print(x,'=',str(z),'=',z)

7 = 7

z=0b111

print(str(z),'=',z)

 

8

Для чисел комплексного типа применимы стандартные арифметические действия, в том числе возведение в любую степень.

Выражение X=complex(a,b) можно более наглядно записывать

в виде X= a+bj. Например: (3+5j)*(1+2j) вернет (-7+11j).

код программы

 

 

 

 

 

 

результат

X=complex(3,5); Y=1+2j;

(3+5j)

(1+2j)

print(X, ' ',Y)

 

print(X/Y)

 

(2.6-0.2j)

print(X**2)

 

(-16+30j)

print((-1)**0.5 )

 

(6.123233995736e-17+1j)

В последней строке вычисляется

 

 

 

,

что должно быть равно

 

 

 

мнимой единице j. Но из-за

погрешности вычислений все-таки набега-

 

 

1

 

ет вещественная часть, хотя и ничтожно малая.

Вещественная и мнимая часть Z определяются выражениями Z.real и Z.imag, а функция abs(Z)дает модуль Z. Комплексно сопряженное число – Z.conjugate(). Пусть Z=(1+2j), тогда:

 

 

Z=(1+2j)

1.0

print(Z.real)

print(Z.imag)

2.0

print(Z.conjugate())

(1-2j)

print(abs(3 + 4j))

5.0

9

2. Стандартные алгоритмические структуры

Условный оператор if (if-elif-else, if/else)

В самой простой форме условный оператор (инструкция) if реализуется с помощью интуитивно понятного синтаксиса.

>>> if X>0.5: print(X)

Рассмотрим программу: x=5; y=3

if y>0.5: #двоеточие после условия обязательно! x=10

y=3*y

print(x,y,x*y, sep=' ** ', end='\n')

Результат работы программы имеет вид: 10 ** 9 ** 90 Обратите внимание: ключевое слово if записываются маленьки-

ми буквами, обязательно присутствует двоеточие после условия и тело инструкции во втором примере выделяется с помощью отступа.

Общая форма: Синтаксически сначала записывается часть if

с условным выражением, далее могут следовать одна или более необя-

зательных частей elif («else if») с условными выражениями и, наконец, необязательная часть else. Условные выражения и часть else имеют привязанные к ним блоки исполняемых инструкций, с отступом относительно основной инструкции.

if test1:

my_state_1

 

if test1:

 

elif test2: my_state_2

 

mystate _1

 

elif test2:

. . .

 

 

mystate _2

. . .

 

 

else:

else: my_state_N

 

mystate _3

Условные выражения (test…)всегда интерпретируются либо как «истина» либо как «ложь». Во время выполнения оператора if вы-

полняется тот блок инструкций (после if или elif), для которого соответствующее условное выражение возвращает истину, иначе испол-

няется блок инструкций else. Не забывайте двоеточие после каждо-

го условия (test…). Во втором способе «выражения по условию»

(my_state_...) указаны с помощью отступа. Это выражение может со-

держать насколько инструкций, которые должны иметь одинаковый отступ. Рассмотрим пример:

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]