Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
питон ТП6 / Bilety_Programmirovanie.docx
Скачиваний:
9
Добавлен:
18.08.2022
Размер:
952.96 Кб
Скачать

Модуль itertools. Генерация комбинаций значений!

combinations(последовательность, кол-во элементов) – на каждой итерации возвращает кортеж, содержащий комбинацию из указанного кол-ва элементов, элементы будут разными

combinations_with_replacement (последовательность, кол-во элементов) – на каждой итерации возвращает кортеж, содержащий комбинацию из указанного кол-ва элементов, кортеж может содержать одинаковые элементы

permutations(последовательность, r=None) - перестановки длиной r из последовательность.

product(последовательность1[, …, последовательностьN] [, repeat = 1]) – на каждой итерации возвращает комбинацию из элементов одной или нескольких последовательностей

Примеры:

#комбинации из 2-х различных элементов последовательности [1, 2, 3, 4]

for x in itertools.combinations([1, 2, 3, 4], 2):

print(x, end = ' ')

(1, 2) (1, 3) (1, 4) (2, 3) (2, 4) (3, 4)

#число сочетаний без повторений из 4 по 2

s = list(itertools.combinations( range(1, 5), 2))

print(s)

print(len(s))

[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]

6

accumulate (последовательность [, функция]) – на каждой итерации возвращает результат, полученный выполнением функции над текущим элементов и результатом, полученным на предыдущей операции

list(itertools.accumulate( [1, 2, 3, 4, 5] ))

[1, 3, 6, 10, 15]

list(itertools.accumulate( [1, 2, 3, 4, 5], lambda x, y: x*y))

[1, 2, 6, 24, 120]

chain (последовательность1 [, …, последовательность N]) – на каждой итерации возвращает элементы сначала из первой последовательности, затем из второй и т.д.

lslice ( последовательность[, начало], конец [, шаг])

starmap (функция, последовательность) – формирует последовательность на основе значений, возвращаемых функцией

  1. Оператор try ... Exept

В программах могут возникать Исключения

  • синтаксические

  • логические

  • ошибки во время выполнения

Исключения возбуждаются не только при ошибке, но и при наступлении каких-либо событий, например, при делении на ноль возникает исключение ZeroDivisionError или может возникнуть исключение ValueError, если функция index не найдет подстроку в строке

Обрабатывать исключения можно при помощи оператора try...except. Формат записи этого оператора

try:

<Блок, в котором перехватываются исключения>

[except [<Исключение 1> [as <Объект исключения>]]]:

<Блок, выполняемый при возникновении исключения>

[…]

[except [<Исключение N> [as <Объект исключения>]]]:

<Блок, выполняемый при возникновении исключения>

[else:

<Блок, выполняемый, если исключение не возникло>]

[finally:

<Блок, выполняемый в любом случае>]

Части, которые заключены в квадратные скобки могут отсутствовать.

Пример оператора try...Except.

Имеются два числа x и y. Вывести частное от деления x/y, если это можно, иначе вывести сообщение "Произошла ошибка"

x = 5

y =2

try:

z = x/y

print('x/y=', z )

except :

print("Произошла ошибка")

x/y= 2.5

x = 2

y = 0

try:

z = x/y

print('x/y=', z )

except :

print("Произошла ошибка")

Произошла ошибка

Соседние файлы в папке питон ТП6