Python 3. Программирование

Содержание

Слайд 2

Строки (string) Строка-это последовательность букв Для обозначения строки используются одинарные или

Строки (string)

Строка-это последовательность букв

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

длинных строк более удобна другая запись – строка, заключенная в группы из трех одинарных или двойных кавычек.
Строки в языке Python неизменяемы
Слайд 3

Управляющие последовательности Последовательность \newline \\ \” \t \v Представляемый символ Игнорируется

Управляющие последовательности

Последовательность
\newline
\\
\”
\t
\v

Представляемый символ
Игнорируется (newline-символ новой строки)
Символ косой черты
Двойная кавычка
Символ

горизонтальной табуляции
Символ вертикальной табуляции

Короткие строки могут содержать управляющие последовательности, кроме обратной косой черты (‘\’), символов перехода на новую строку и кавычек, в которые строка заключена.

Слайд 4

Операции над строками Строки можно объединить (склеить) с помощью оператора +

Операции над строками

Строки можно объединить (склеить) с помощью оператора +
Пример:

s = ‘Hello’+’A’
Результат:
s = ‘HelloA’

Строки можно размножить с помощью оператора *
Пример: s = ‘Word*3’
Результат:
s = ‘WordWordWord’

Слайд 5

Индексы Первый символ строки имеет индекс 0 Индексы могут иметь отрицательные значения для отсчета с конца

Индексы

Первый символ строки имеет индекс 0
Индексы могут иметь отрицательные значения для

отсчета с конца
Слайд 6

Строка-последовательность символов с произвольным доступом. Любой символ строки может быть получен

Строка-последовательность символов с произвольным доступом.
Любой символ строки может быть получен по

его индексу.
Подстрока может быть определена с помощью среза – двух индексов, разделенных двоеточием.
Пример:
s = ‘Hello’
[0:2]
Результат:
‘He’

Подстрока

Слайд 7

Встроенная функция len () возвращает длину строки Пример: s = ‘Monday

Встроенная функция len () возвращает длину строки
Пример:
s = ‘Monday begins on

saturday’
Len (s)
Результат:
25

Длина строки

Слайд 8

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

Списки

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

чтобы элементы списка были одного типа
Пример
s = [‘hello’, 100, 5]
Слайд 9

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

Как и для строк, для списков нумерация индексов начинается с нуля.
При

использовании отрицательных индексов отсчет ведется с конца списка.

Индексы

Слайд 10

Указав через двоеточие два индекса, вы можете получить подмножество элементов списка,

Указав через двоеточие два индекса, вы можете получить подмножество элементов списка,

называемое “срезом”. Получаемое значение является новым списком, содержащим все элементы исходного списка в том же порядке.
Нумерация элементов начинается с нуля

Срезы

Слайд 11

Изменение отдельных элементов списка В отличие от строк существует возможность изменения

Изменение отдельных элементов списка

В отличие от строк существует возможность изменения отдельных

элементов списка
Пример: a=[‘Alla’, 100, 34]
a[1]= a[1]+19
Результат: a=[‘Alla’, 119, 34]
Слайд 12

Длина списка Встроенная функция len() также применима к спискам, как и к строкам

Длина списка

Встроенная функция len() также применима к спискам, как и к

строкам
Слайд 13

Добавление элементов в список Метод append добавляет один элемент в конец

Добавление элементов в список

Метод append добавляет один элемент в конец списка.


Пример: a. append(‘new’)
Результат: [‘Alla’, 119, 34, ‘new’]
Метод insert вставляет один элемент в список. Целочисленный аргумент является индексом первого элемента, позиция которого изменится.
Пример: a.insert(1, ‘new’)
Результат: [‘Alla’, 119, ‘new’ ,34, ‘new’]
Метод extend добавляет в конец элементы другого списка.
Пример: а.extend([‘two’, ‘elements’])
Результат: [‘Alla’, 119, ‘new’ ,34, ‘new’, ‘two’, ‘elements’]
Слайд 14

Изменение элементов списка a = [3, 8, 15, 43] Замена нескольких

Изменение элементов списка

a = [3, 8, 15, 43]
Замена нескольких элементов:
Пример: a[0:2]

= [1,12]
Результат: [1, 12, 15, 43]
Удаление элемента:
Пример: a[0:2] = [ ]
Результат: [15, 43]
Вставка:
Пример: а[1:1] = [‘Неllo’, 5]
Результат: [3, ‘Неllo’, 5, 8, 15, 43]
Копия самого себя в начале:
Пример: a[:0]=a
Результат: [3, 8, 15, 43, 3, 8, 15, 43]
Слайд 15

Удаление элементов из списка Метод remove удаляет из списка первый элемент

Удаление элементов из списка

Метод remove удаляет из списка первый элемент с

указанным значением.
Пример: a.remove (‘new’)
Результат: [‘Alla’, 119, 34, ‘new’, ‘two’, ‘elements’]
Метод remove удаляет только один элемент.
В данном случае строка "new" присутствует в списке дважды, но а.remove("new") удалит только первую.
Слайд 16

Применение операторов к спискам С помощью оператора + можно “склеивать” списки Оператор * размножает элементы списка.

Применение операторов к спискам

С помощью
оператора + можно “склеивать” списки
Оператор

* размножает элементы списка.
Слайд 17

Расширенная запись списков Одна из самых мощных особенностей языка Python —

Расширенная запись списков

Одна из самых мощных особенностей языка Python — расширенная

запись списков, которая позволяет легко преобразовать один список в другой, применяя к каждому элементу функцию.
Пример:
li = [1, 9, 8, 4]
li =[elem*2 for elem in li]
Результат:
[2, 18, 16, 8]
li — список, который вы преобразуете. Python пробегает по всем элементам li, временно присваивает каждый из них переменной elem, вычисляет значение выражения elem*2 и добавляет в конец списка, который вы в результате получаете
Слайд 18

Задачи на тему « Списки»

Задачи на тему « Списки»

Слайд 19

Задача 1. Найти сумму элементов списка l1 = [1, 99, 57896,

Задача 1. Найти сумму элементов списка

l1 = [1, 99, 57896, 21,

35, 176]
res = 0
for i in l1:
res += i
print(res)
Слайд 20

Задача 2. Ввести элементы списка произвольной длины sp = [int(i) for

Задача 2. Ввести элементы списка произвольной длины

sp = [int(i) for i

in input('Введите элементы списка через пробел ').split()]
print(sp)
Слайд 21

Кортежи (tuple) Кортеж — это неизменяемый список. Кортеж определяется так же,

Кортежи (tuple)

Кортеж — это неизменяемый список.
Кортеж определяется так же, как

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

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

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

в кортеже с помощью index
Однако, можно с помощью in
При совершении операций с кортежем (например +=) создается новый кортеж

Операции с кортежами

Слайд 23

Упаковка и распаковка в кортеж t= 12345, 54321, ‘hello’ Пример упаковки

Упаковка и распаковка в кортеж

t= 12345, 54321, ‘hello’
Пример упаковки

в кортеж
x, y, z = t
Распаковка кортежа требует, чтобы слева стояло столько переменных, сколько элементов в кортеже
Слайд 24

Пустые и одноэлементные кортежи Пустой кортеж создается с помощью пустой пары

Пустые и одноэлементные кортежи

Пустой кортеж создается с помощью пустой пары скобок
Кортеж

с одним элементом создается с помощью значения и следующей за ним запятой, просто значения недостаточно
Слайд 25

Кортеж может быть преобразован в список и наоборот. Встроенная функция tuple

Кортеж может быть преобразован в список и наоборот. Встроенная функция tuple

воспринимает список в качестве аргумента и возвращает кортеж с теми же самыми элементами, и функция list воспринимает кортеж в качестве аргумента и возвращает список.
В результате tuple “замораживает” список, а list его “размораживает”.

Связь кортежа и списка

Слайд 26

Задачи на кортежи

Задачи на кортежи

Слайд 27

Задача 1. Перебор элементов кортежа thistuple = ("помидор", "огурец", "лук") for x in thistuple: print(x) print(len(thistuple))

Задача 1. Перебор элементов кортежа

thistuple = ("помидор", "огурец", "лук")
for x in

thistuple:
print(x)
print(len(thistuple))
Слайд 28

Задача 2. Создать кортеж из элементов строки s = '1,2,3,4,5,6' t = tuple(map(int, s.split(','))) print(t)

Задача 2. Создать кортеж из элементов строки

s = '1,2,3,4,5,6'
t = tuple(map(int,

s.split(',')))
print(t)
Слайд 29

Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по

Словари в Python - неупорядоченные коллекции произвольных объектов с доступом по

ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.

Элементы словаря состоят из двух компонентов. Первый называется «ключ», второй – «значение».

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

Ключом в словаре Python может быть любой так называемый «неизменяемый тип» данных, к которому относится число, символьная строка или кортеж (неизменяемый набор значений).

Словари

Слайд 30

Создание словаря Если на момент написания программы известны все элементы словаря,

Создание словаря

Если на момент написания программы известны все элементы словаря, то

последний создается так:
< имя словаря > = {< ключ 1 >: < значение 1 >, {< ключ 2 >: < значение 2 >, ...}
структура: «номер авиарейса : аэропорт назначения»):
R = {'ПЛ6553': 'Сочи', 'ЮТ381': 'Санкт-Петербург', 'ДР181': 'Волгоград', 'ДР157': 'Краснодар'}
Когда тип всех ключей – строковый и они не содержат пробелов, то для создания словаря удобно использовать функцию dict()
R = dict(ПЛ6553 = 'Сочи', ЮТ381 = 'Санкт-Петербург', ДР181 ='Волгоград', ДР157 = 'Краснодар')
Слайд 31

Добавить элемент в уже существующий словарь можно, указав новый ключ и

Добавить элемент в уже существующий словарь можно, указав новый ключ и

новое значение в виде:
R['АБ1234'] = 'Сургут'
Если при этом указать уже существующий ключ, соответствующее ему значение будет изменено на новое.

Если же все элементы словаря становятся известными в ходе выполнения программы (с использованием инструкции input() или после расчетов), то сначала надо описать словарь как пустой:
D = {}
а затем добавлять в него значения

for k in range(…):
kl = input('Введите ключ очередного элемента словаря')
zn = input('Введите значение очередного элемента словаря')
R[kl] = zn

Слайд 32

d = {'cat': 'кошка', 'dog': 'собака', 'bird': 'птица', 'mouse': 'мышь'} print(d)

d = {'cat': 'кошка', 'dog': 'собака', 'bird': 'птица', 'mouse': 'мышь'}
print(d)
{'dog': 'собака',

'cat': 'кошка', 'mouse': 'мышь', 'bird': 'птица'}

R = {'ПЛ6553': 'Сочи', 'ЮТ381': 'Санкт-Петербург', 'ДР181':'Волгоград', 'ДР157': 'Краснодар'}
print(R['ЮТ381'])

Ключ элементов должен быть уникальным по отношению к другим.
Если ключ в словаре повторяется, то будет использовано то значение с данным ключом, которое ближе к концу словаря

Слайд 33

Слайд 34

Задачи на тему «Словари»

Задачи на тему «Словари»

Слайд 35

Задача 1. Даны два словаря: dictionary_1 = {'a': 300, 'b': 400}

Задача 1.

Даны два словаря: dictionary_1 = {'a': 300, 'b': 400} и

dictionary_2 = {'c': 500, 'd': 600}. Объедините их в один при помощи встроенных функций языка Python.
dictionary_1 = {'a': 100, 'b': 200}
dictionary_2 = {'x': 300, 'y': 200}
dictionary_3 = dictionary_1.copy()
dictionary_3.update(dictionary_2)
print(dictionary_3)

Для объединения двух словарей создадим третий словарь в виде копии первого.
Для этого используем встроенную функцию copy().
Далее к уже созданному словарю мы присоединяем второй словарь. Для этого мы используем встроенную функцию update().

Слайд 36

Задача 2. Дан словарь с числовыми значениями. Необходимо их все перемножить

Задача 2.

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

вывести на экран.
m= {'data1': 375, 'data2': 567, 'data3': -37, 'data4': 21}
result = 1
for i in m:
result = result * m[i]
print(result)
Слайд 37

Задача 3 Создайте словарь, в котором ключами будут числа от 1

Задача 3

Создайте словарь, в котором ключами будут числа от 1 до

10, а значениями эти же числа, возведенные в куб.
my_dict = {i : i ** 3 for i in range(1, 11)}
print(my_dict)
Слайд 38

Задача 4 Даны два списка одинаковой длины. Необходимо создать из них

Задача 4

Даны два списка одинаковой длины. Необходимо создать из них словарь

таким образом, чтобы элементы первого списка были ключами, а элементы второго — соответственно значениями нашего словаря.
keys = ['red', 'green', 'blue']
values = ['#FF0000','#008000', '#0000FF']
color_dictionary = dict(zip(keys, values))
print(color_dictionary)

Функция zip, которая из двух списков создает один, состоящий из кортежей длиной в два элемента каждый. Первый элемент кортежа взят из первого списка, а второй, соответственно, из второго. Индексы обоих элементов кортежа совпадают.
После передачи такого списка в функцию dict получается требуемый словарь.

Слайд 39

Задача 5. Создайте словарь из строки 'pythonist' следующим образом: в качестве

Задача 5.

Создайте словарь из строки 'pythonist' следующим образом: в качестве ключей

возьмите буквы строки, а значениями пусть будут числа, соответствующие количеству вхождений данной буквы в строку.
str1 = 'pythonist'
my_dict = {i: str1.count(i) for i in str1}
print(my_dict)
Для решения данной задачи воспользуемся функцией count(), которая считает количество вхождений элемента в строку.
Слайд 40

Множества Множества (set) представлены как неупорядоченные коллекции уникальных и неизменяемых объектов.

Множества

Множества (set) представлены как неупорядоченные коллекции уникальных и неизменяемых объектов. Коллекции,

которые не являются ни последовательностями (как списки), ни отображениями (как словари). Хотя с последними у множеств много общего.

Пример set-ов в Python:
# множество натуральных чисел от 1 до 10
natural_num_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
# множество приближений math.sqrt(2)
sqrt_approximation_set = {1.4142135623, 1.414213562, 1.41421356, 1.4142135, 1.414213}
# множество результатов какого-то голосования
vote_result_set = {('P', 76.69), ('G', 11.77), ('J', 5.65), ('S', 1.68), ('Y', 1.05),