333.41K
Category: programmingprogramming

Программирование на Python. Циклы, строки и списки, множества, двумерные массивы (занятие 2)

1.

PYT HON
П Р ОГ Р А ММИРОВА НИ Е
Д ЛЯ НА ЧИНА Ю Щ И Х
Занятие 2.
Циклы/ Строки и
списки/ Множества/
Двумерные массивы

2.

Содержание
1. Строки
2. Списки
3. Множества
4. Двумерные массивы
5. Цикл for
6. Цикл while
Задачи

3.

1. Строки
•Считывание строки - функцией ввода input().
•Для двух строк определена операция
сложения (конкатенации), также определена
операция умножения строки на число.
•Длина строки функция len.
•Любой другой объект в Питоне можно
перевести к строке - функция str(), передав ей
в качестве параметра объект, переводимый в
строку.

4.

1. Строки. Срезы(slices)
• Срез (slice) — извлечение из данной строки одного символа
или некоторого фрагмента подстроки или
подпоследовательности.
• Есть три формы срезов:
1. взятие одного символа строки. S[i] — это срез, состоящий из
одного символа, который имеет номер i.
Нумерация начинается с числа 0.
Если указать отрицательное значение индекса, то номер будет
отсчитываться с конца, начиная с номера -1.
2. Срез с двумя параметрами: S[a:b] возвращает подстроку из b
- a символов, начиная с символа c индексом a, то есть до
символа с индексом b, не включая его.
Если опустить второй параметр (но поставить двоеточие), то
срез берется до конца строки.
3. Срез с тремя параметрами S[a:b:d]. Третий параметр задает
шаг. Ели взять значение среза, равное -1, то символы будут
идти в обратном порядке.

5.

1. Строки. Методы
Метод — это функция, применяемая к объекту.
Метод вызывается в виде Имя_объекта.Имя_метода(параметры).
find - находит в данной строке (к которой применяется метод) данную подстроку (которая
передается в качестве параметра).
Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не
найдена, то метод возвращает значение -1.
rfind - возвращает индекс последнего вхождения данной строки (“поиск справа”).
replace - заменяет все вхождения одной строки на другую.
S.replace(old, new) — заменить в строке S все вхождения подстроки old на подстроку new.
S.replace(old, new, count), то заменены будут не все вхождения, а только не больше, чем первые
count из них.
count - подсчитывает количество вхождений одной строки в другую строку.

6.

1. Строки. Примеры.

7.

2. Списки.
•Список(массив) представляет собой последовательность элементов, пронумерованных от
0, как символы в строке.
•Список можно задать перечислением элементов списка в квадратных скобках.
•Элементы списка можно индексировать отрицательными числами с конца.
Primes[-1] == 13, Primes[-6] == 2.

8.

2. Списки. Методы.

9.

2. Списки. Операции со списками.
x in A
Проверить, содержится ли элемент в списке.
Возвращает True или False
x not in A
То же самое, что not(x in A)
min(A)
Наименьший элемент списка
max(A)
Наибольший элемент списка
len(A)
Возвращает размер списка А
str(A)
del A(i) / del A(1:3)
Возвращает строковое представление всего
списка А
Удаляет i-ый эл-т списка/ Удаляет 1 и 2 элемент

10.

2. Списки.
• Списки, в отличии от срок, можно изменять. Изменять можно целый срез. Срез
аналогичен понятию среза для списка.
• Метод split() разделяет список на части, используя разделитель в скобках.
• Метод join - соединяет список строк, которые передаются в параметре. Между
элементами списка вставляется разделитель, равный той строке, к которой применяется
метод.
•Для создания списка, заполненного одинаковыми элементами, можно использовать
оператор повторения списка. a = [0] * n

11.

2. Списки. Примеры.

12.

3. Множества.
•Множества – неизменяемый список
уникальных значений.
•Порядок хранения элементов не
определен.
•Элементы мн-ва – любой
неизменяемый тип данных.
•Каждый элемент может входить в
множество только один раз.
set('Hello') вернет множество из
четырех элементов: {'H', 'e', 'l', 'o'}.

13.

3. Множества. Операции с
множествами.
A|B
A.union(B)
Возвращает множество, являющееся
объединением множеств A и B.
A |= B
A.update(B)
Добавляет в множество A все элементы из
множества B.
A&B
A.intersection(B)
Возвращает множество, являющееся
пересечением множеств A и B.
A &= B
A.intersection_update(B)
Оставляет в множестве A только те элементы,
которые есть в множестве B.
A-B
A.difference(B)
Возвращает разность множеств A и B (элементы,
входящие в A, но не входящие в B).
A -= B
A.difference_update(B)
Удаляет из множества A все элементы, входящие
в B.

14.

A^B
A.symmetric_difference(B)
Возвращает симметрическую разность мн-в A и B (элементы, входящие
в A или в B, но не в оба из них одновременно).
A ^= B
A.symmetric_difference_update(B)
Записывает в A симметрическую разность множеств A и B.
A <= B
A.issubset(B)
Возвращает true, если A является подмножеством B.
A >= B
A.issuperset(B)
Возвращает true, если B является подмножеством A.
A<B
Эквивалентно A <= B and A != B
A>B
Эквивалентно A >= B and A != B
A.add(x)
Добавляет элемент х в мн-во
A.update(x,y,z)
Добавляет несколько эл-тов в мн-во
A.copy()
Возвращает копию мн-ва.
A.pop()
Удаляет один эл-т из мн-ва случайным образом.
A.discard(i)
Удаляет из мн-ва i-ый элемент
A.set()
Генерирует пустое мн-во

15.

4. Двумерные
массивы.
• Задание двумерного массива a = [[1, 2, 3], [4,
5, 6]]
•Обращение к элементу двумерного массива
print(a[0][2]) или к строке print(a[0])
• Для обработки двумерного массива
используется цикл for
• Функция range(n) – используется для
повторения цикла for n-раз

16.

5. Цикл for.
• Используется для перебора эл-тов указанного списка.
•Нельзя указать размер шага и конечный элемент
•Можно использовать функцию range(4), range(1,4),
range(1,14,4)
•Break – принудительный выход из цикла

17.

5. Цикл for. Пример.

18.

6. Цикл while
•Цикл while выполняет одну и ту же последовательность
действий, пока проверяемое условие истинно.
•Синтаксис:
•После тела цикла можно написать слово else: и после
него блок операций, который будет выполнен один раз
после окончания цикла, когда проверяемое условие
станет неверно.

19.

Задачи
1. Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами.
Результат запишите в строку и выведите получившуюся строку.
При решении этой задачи не стоит пользоваться циклами и инструкцией if.
2. В списке все элементы различны. Поменяйте местами минимальный и максимальный элемент этого
списка.
3. Даны два множества чисел. Найдите все числа, которые входят как в первое, так и во второе мн-во и
выведите их в порядке возрастания.
4. Дан двумерный массив и два числа: i и j. Поменяйте в массиве столбцы с номерами i и j и выведите
результат. Программа получает на вход размеры массива n и m, затем элементы массива, затем числа i и j.
5. Вычислить факториал по данному натуральному n.
6. Дан список натуральных чисел, список оканчивается числом 0. Необходимо вывести кол-во элементов
списка, которые больше предыдущего элемента.
English     Русский Rules