Модуль math предоставляет дополнительные функции для работы с числами, а также стандартные константы. Прежде чем использовать модуль, необходимо подключить его с помощью инструкции:
Import math
ПРИМЕЧАНИЕ
Для работы с комплексными числами необходимо использовать модуль cmath.
Модуль math предоставляет следующие стандартные константы:
· pi - возвращает число p:
· е - возвращает значение константы е:
Перечислим основные функции для работы с числами:
· sin(), cos(), tan() — стандартные тригонометрические функции (синус, косинус, тангенс). Значение указывается в радианах;
· asin(), acos(), atan() — обратные тригонометрические функции (арксинус, арккосинус, арктангенс). Значение возвращается в радианах;
· degrees() — преобразует радианы в градусы:
· radians() — преобразует градусы в радианы:
· exp() — экспонента;
· log (<Число> [, <База>]) — логарифм по заданной базе. Если база не указана, вычисляется натуральный логарифм (по базе е);
· log10() — десятичный логарифм;
· log2() — логарифм по базе 2;
· sqrt() — квадратный корень:
· ceil() — значение, округленное до ближайшего большего целого:
· floor () — значение, округленное до ближайшего меньшего целого:
· pow(<Число>, <Степень>) — возводит < Число > в < Степень >:
· fabs () — абсолютное значение:
· fmod () — остаток от деления:
· factorial () — факториал числа:
· fsum (<список чисел>) — возвращает точную сумму чисел из заданного списка:
Примечание
В этом разделе мы рассмотрели только основные функции. Чтобы получить полный список функций, обращайтесь к документации по модулю math.
6.3 Модуль random. Генерация случайных чисел
Модуль random позволяет генерировать случайные числа. Прежде чем использовать модуль, необходимо подключить его с помощью инструкции:
Import random
Перечислим основные его функции:
· random () — возвращает псевдослучайное число от 0.0 до 1.0:
· seed([<Параметр>] [, version=2]) — настраивает генератор случайных чисел на новую последовательность. Если первый параметр не указан, в качестве базы для случайных чисел будет использовано системное время. Если значение первого параметра будет одинаковым, то генерируется одинаковое число:
· uniform(<начало>, <конец>) — возвращает псевдослучайное вещественное число в диапазоне от < начало > до < конец >:
· randint (<Начало>, <Конец>) — возвращает псевдослучайное целое число в диапазоне от < Начало > до < Конец >:
· randrange ([<Начало>, ]<Конец>[, <Шаг>]) — возвращает случайный элемент из числовой последовательности. Параметры аналогичны параметрам функции range(). Можно сказать, что функция randrange «за кадром» создает диапазон, из которого и будут выбираться возвращаемые случайные числа:
· choice(<последовательность>) — возвращает случайный элемент из заданной последовательности (строки, списка, кортежа):
· shuffle(<Сnисок> [, <Число от 0.0 до 1.0> ]) - перемешивает элементы списка случайным образом. Функция перемешивает сам список и ничего не возвращает. Если второй параметр не указан, то используется значение, возвращаемое функцией random().
Пример:
· sаmрlе(<Последовательность>, <Количество элементов>) - возвращает список из указанного количества элементов. В этот список попадут элементы из последовательности, выбранные случайным образом. В качестве последовательности можно указать любые объекты, поддерживающие итерации. Примеры:
Для примера создадим генератор паролей произвольной длины. Для этого добавляем в список arr все разрешенные символы, а далее в цикле получаем случайный элемент с помощью функции choice(). По умолчанию будет выдаваться пароль из 8 символов.
Результат работы программы: