Здравствуйте, дорогие друзья. Сегодня мы напишем полезную программу с точки зрения математики, а именно нахождение факториала. Так тех кто подзабыл: факториал — это функция, определённая на множестве неотрицательных целых чисел.
Она выражена в следующей формуле:
n!-1*2*3*. *n, где n — это последнее число.
Например: 5!=1*2*3*4*5=120.
А теперь мы рассмотрим, какой необходимо написать исходный код для нахождение факториала на языке программирования Python . Внимание на скриншот.
Исходный код нахождения факториала
Обратите внимание, что переменная » n » — это и есть сам факториал, т.е. до какого значения будет идти цикл.
Переменная » proiz » — умножает знания каждого шага факториала и одновременно выводит результат, как на каждом шаге в теле цикла, так и в итоге в самом конце.
Цикл мы используемся с параметром. Переменная для цикла стандартного обозначения i . Также обратите внимание, что для того, чтобы факториал посчитался именно до значения n , нам нужно в параметрах цикла задать n+1 .
39 Задача: Вычислить факториал при помощи Python
Теперь давайте посмотрим, как работает программа.
Мы задаём переменную n=5. Выводим результат на каждом шаге и итоговый результат
Проверим нашу программу ещё раз и зададим значение n=10. Опять выводим результат на каждом шаге и в конце итоговое значение факториала
В принципе всё. Вот такую вот не сложную программу по подсчёту факториала мы написали на языке программирования Python , версия 3.8.2 .
Надеюсь исходный код был полезен для вас. Подписывайтесь на канал и ставьте лайк. Также я предлагаю заглянуть на наш Ютуб-канал ПиМ [ZveKa] , там много всего интересного. До новых встреч на просторах Яндекс Дзена.
Источник: dzen.ru
Math Python
Основы
Автор Иван Душенко На чтение 11 мин Просмотров 3.9к. Опубликовано 05.12.2021
В этом уроке мы познакомимся с встроенным модулем стандартной библиотеки Python. Этот модуль предоставляет множество функций для математических вычислений. В целях ускорения вычислений данный модуль «под капотом» написан на языке C.
Функции представления чисел
ceil() и floor() — целая часть числа
Эти функции мы уже рассматривали в одной из прошлых статей.
Кратко повторим.
ceil() и floor() — способы выполнить округление. Обе принимают число с дробной частью (тип float), а возвращают целое (тип int). Разница же между ними в том, что ceil() округляет число вверх (до ближайшего большего целого числа), а floor() — вниз.
from math import floor, ceil float_var = 3.14 first_int_var = floor(float_var) second_int_var = ceil(float_var) print(f’Число имеет тип ‘) print(f’Округляем число вниз и получаем ‘) print(‘С типом’, type(first_int_var)) print(f’Округляем число вверх и получаем ‘) print(‘С типом’, type(second_int_var)) # Вывод: Число 3.14 имеет тип Округляем число 3.14 вниз и получаем 3 С типом Округляем число 3.14 вверх и получаем 4 С типом
Найти факториал числа. Решение задачи на языке программирования Python
Не забудьте импортировать модуль math в свой проект!
Функция fabs() — модуль числа
Как и встроенная функция Питона abs, функция math.fabs возвращает модуль числа (если чило отрицательное, то отбрасывается знак «-»). Но есть между ними и важные отличия. Во-первых, math.fabs не предназначена для работы с комплексными числами, во-вторых, в отличие от abs, она возвращает не целочисленное, а дробное число.
from math import fabs var = -3 first_int_var = abs(var) second_int_var = fabs(var) print(f’Число имеет тип ‘) print(f’Модуль числа , полученный функцией abs: ‘) print(‘С типом’, type(first_int_var)) print(f’Модуль числа , полученный функцией fabs: ‘) print(‘С типом’, type(second_int_var)) print(abs(complex(1, 2))) print(fabs(complex(1, 2))) # Вывод: Число -3 имеет тип Модуль числа -3, полученный функцией abs: 3 С типом Модуль числа -3, полученный функцией fabs: 3.0 С типом 2.23606797749979 Traceback (most recent call last): File «C:UsersivandAppDataRoamingJetBrainsPyCharm2021.2scratchesscratch.py», line 12, in print(fabs(complex(1, 2))) TypeError: can’t convert complex to float
factorial() — функция факториала
Эта функция предназначена для получения факториала.
Пример:
from math import factorial var = 3 first_int_var = factorial(var) print(f’Число имеет тип ‘) print(f’Факториал числа , полученный функцией factorial: ‘) print(‘С типом’, type(first_int_var)) # Вывод: Число 3 имеет тип Факториал числа 3, полученный функцией factorial: 6 С типом
Естественно, функция принимает только целое положительное число.
from math import factorial var = -3 first_int_var = factorial(var) print(f’Число имеет тип ‘) print(f’Факториал числа , полученный функцией factorial: ‘) print(‘С типом’, type(first_int_var)) # Вывод: Traceback (most recent call last): File «C:UsersivandAppDataRoamingJetBrainsPyCharm2021.2scratchesscratch.py», line 4, in first_int_var = factorial(var) ValueError: factorial() not defined for negative values from math import factorial
var = 3.14 first_int_var = factorial(var) print(f’Число имеет тип ‘) print(f’Факториал числа , полученный функцией factorial: ‘) print(‘С типом’, type(first_int_var)) # Вывод: C:UsersivandAppDataRoamingJetBrainsPyCharm2021.2scratchesscratch.py:4: DeprecationWarning: Using factorial() with floats is deprecated first_int_var = factorial(var) Traceback (most recent call last): File «C:UsersivandAppDataRoamingJetBrainsPyCharm2021.2scratchesscratch.py», line 4, in first_int_var = factorial(var) ValueError: factorial() only accepts integral values
Функция fmod() — остаток от деления
Функция fmod() является расширением оператора % — в отличие от него, данная функция может работать с числами с плавающей точкой.
Пример:
from math import fmod var = 3.14 print(‘fmod(var, 2)’, fmod(var, 2)) print(‘fmod(2, var)’, fmod(2, var)) print(‘fmod(var, 1)’, fmod(var, 1)) print(‘fmod(var, 3.14)’, fmod(var, 3.14)) print(‘fmod(var, 50)’, fmod(var, 50)) # Вывод: fmod(var, 2) 1.1400000000000001 fmod(2, var) 2.0 fmod(var, 1) 0.14000000000000012 fmod(var, 3.14) 0.0 fmod(var, 50) 3.14
Функция frexp()
Эта функция возвращает мантиссу и показатель степени.
Пример:
from math import frexp var = 3.14 print(‘frexp(var)’, frexp(var)) # Вывод: frexp(var) (0.785, 2)
Функция fsum() — точная сумма float
Вычисляет точную сумму значений с плавающей точкой в итерируемом объекте и сумму списка или диапазона данных.
Пример:
from math import fsum var_list = [1/i for i in range(1, 10)] print(f’Сумма элементов последовательностиnnравна’, fsum(var_list)) # Вывод: Сумма элементов последовательности [1.0, 0.5, 0.3333333333333333, 0.25, 0.2, 0.16666666666666666, 0.14285714285714285, 0.125, 0.1111111111111111] равна 2.828968253968254
Функции возведения в степень и логарифма
Функция exp()
Эта функция принимает один параметр в виде дробного числа и возвращает e^x.
Пример:
from math import exp var_list = 3.14 print(f’exp(3.14):’, exp(var_list)) # Вывод: exp(3.14): 23.103866858722185
Функция expm1()
Эта функция работает так же, как и exp, но возвращает exp(x)-1. Здесь, expm1 значит exm-m-1, то есть, exp-minus-1.
Пример:
from math import exp, expm1 var_list = 3.14 print(f’exp(3.14) — 1:’, exp(var_list) — 1) print(f’expm1(3.14):’, expm1(var_list)) # Вывод: exp(3.14) — 1: 22.103866858722185 expm1(3.14): 22.103866858722185
Функция log() — логарифм числа
Функция log(x[,base]) находит логарифм числа x по основанию e (по умолчанию). base— параметр опциональный. Если нужно вычислить логарифм с определенным основанием, его нужно указать.
Пример:
from math import log var_list = 3.14 print(f’log(3.14):’, log(var_list)) # Вывод: log(3.14): 1.144222799920162
Функция log1p()
Эта функция похожа на функцию логарифма, но добавляет 1 к x. log1p значит log-1-p, то есть, log-1-plus.
Пример:
from math import log, log1p var_list = 3.14 print(f’log(3.14 + 1):’, log(var_list + 1)) print(f’log1p(3.14):’, log1p(var_list)) # Вывод: log(3.14 + 1): 1.420695787837223 log1p(3.14): 1.420695787837223
Функция log10()
Вычисляет логарифм по основанию 10.
Пример:
from math import log10 var_list = 3.14 print(f’log10(3.14):’, log10(var_list)) # Вывод: log10(3.14): 0.49692964807321494
Функция pow() — степень числа
Используется для нахождения степени числа. Синтаксис функции pow(Base, Power). Она принимает два аргумента: основание и степень.
Пример:
from math import pow var_list = 3.14 print(f’pow(3.14, 10):’, pow(var_list, 10)) print(f’pow(10, 3.14):’, pow(10, var_list)) print(f’pow(10, 10):’, pow(10, 10)) # Вывод: pow(3.14, 10): 93174.3733866435 pow(10, 3.14): 1380.3842646028852 pow(10, 10): 10000000000.0
Функция sqrt() — квадратный корень числа
Эта функция используется для нахождения квадратного корня числа. Она принимает число в качестве аргумента и находит его квадратный корень.
Пример:
from math import sqrt var_list = 3.14 print(f’sqrt(3.14):’, sqrt(var_list)) print(f’sqrt(93174.3733866435):’, sqrt(93174.3733866435)) print(f’sqrt(10000000000):’, sqrt(10000000000)) # Вывод: sqrt(3.14): 1.772004514666935 sqrt(93174.3733866435): 305.2447761824001 sqrt(10000000000): 100000.0
Тригонометрические функции
В Python есть следующие тригонометрические функции.
Функция | Значение |
sin | принимает радиан и возвращает его синус |
cos | принимает радиан и возвращает его косинус |
tan | принимает радиан и возвращает его тангенс |
asin | принимает один параметр и возвращает арксинус (обратный синус) |
acos | принимает один параметр и возвращает арккосинус (обратный косинус) |
atan | принимает один параметр и возвращает арктангенс (обратный тангенс) |
sinh | принимает один параметр и возвращает гиперболический синус |
cosh | принимает один параметр и возвращает гиперболический косинус |
tanh | принимает один параметр и возвращает гиперболический тангенс |
asinh | принимает один параметр и возвращает обратный гиперболический синус |
acosh | принимает один параметр и возвращает обратный гиперболический косинус |
atanh | принимает один параметр и возвращает обратный гиперболический тангенс |
from math import sin, cos, tan, acos, atan, sinh, acosh, atanh, asin var = 0.5 print(‘sin(var):’, sin(var)) print(‘cos(var):’, cos(var)) print(‘tan(var):’, tan(var)) print(‘acos(var):’, acos(var)) print(‘asin(var):’, asin(var)) print(‘atan(var):’, atan(var)) print(‘sinh(var):’, sinh(var)) print(‘acosh(3.14):’, acosh(3.14)) print(‘atanh(var):’, atanh(var)) # Вывод: sin(var): 0.479425538604203 cos(var): 0.8775825618903728 tan(var): 0.5463024898437905 acos(var): 1.0471975511965979 asin(var): 0.5235987755982989 atan(var): 0.4636476090008061 sinh(var): 0.5210953054937474 acosh(3.14): 1.810991348900196 atanh(var): 0.5493061443340549
Функция преобразования углов
Эти функции преобразуют угол. В математике углы можно записывать двумя способами: угол и радиан. Есть две функции в Python, которые конвертируют градусы в радиан и обратно.
• degrees(): конвертирует радиан в градусы;
• radians(): конвертирует градус в радианы;
Пример:
from math import degrees, radians var_1 = 3.14 var_2 = 4.13 print(‘degrees(var_1):’, degrees(var_1)) print(‘radians(var_2):’, radians(var_2)) # Вывод: degrees(var_1): 179.9087476710785 radians(var_2): 0.07208209810736581
Математические константы
В Python есть две математические константы: pi и e.
1. pi: это математическая константа со значением 3.1416..
2. e: это математическая константа со значением 2.7183..
Пример:
import math # вывод значения PI print(«значение PI», math.pi) # вывод значения e print(«значение e», math.e) Вывод: значение PI 3.141592653589793 значение e 2.718281828459045
Источник: pythoninfo.ru
Модуль math
Модуль math – один из наиважнейших в Python. Этот модуль предоставляет обширный функционал для работы с числами.
math.ceil(X) – округление до ближайшего большего числа.
math.copysign(X, Y) — возвращает число, имеющее модуль такой же, как и у числа X, а знак — как у числа Y.
math.fabs(X) — модуль X.
math.factorial(X) — факториал числа X.
math.floor(X) — округление вниз.
math.fmod(X, Y) — остаток от деления X на Y.
math.frexp(X) — возвращает мантиссу и экспоненту числа.
math.ldexp(X, I) — X * 2 i . Функция, обратная функции math.frexp().
math.fsum(последовательность) — сумма всех членов последовательности. Эквивалент встроенной функции sum(), но math.fsum() более точна для чисел с плавающей точкой.
math.isfinite(X) — является ли X числом.
math.isinf(X) — является ли X бесконечностью.
math.isnan(X) — является ли X NaN (Not a Number — не число).
math.modf(X) — возвращает дробную и целую часть числа X. Оба числа имеют тот же знак, что и X.
math.trunc(X) — усекает значение X до целого.
math.exp(X) — e X .
math.expm1(X) — e X — 1. При X → 0 точнее, чем math.exp(X)-1.
math.log(X, [base]) — логарифм X по основанию base. Если base не указан, вычисляется натуральный логарифм.
math.log1p(X) — натуральный логарифм (1 + X). При X → 0 точнее, чем math.log(1+X).
math.log10(X) — логарифм X по основанию 10.
math.log2(X) — логарифм X по основанию 2.
math.pow(X, Y) — X Y .
math.sqrt(X) — квадратный корень из X.
math.acos(X) — арккосинус X. В радианах.
math.asin(X) — арксинус X. В радианах.
math.atan(X) — арктангенс X. В радианах.
math.atan2(Y, X) — арктангенс Y/X. В радианах. С учетом четверти, в которой находится точка (X, Y).
math.cos(X) — косинус X (X указывается в радианах).
math.sin(X) — синус X (X указывается в радианах).
math.tan(X) — тангенс X (X указывается в радианах).
math.hypot(X, Y) — вычисляет гипотенузу треугольника с катетами X и Y (math.sqrt(x * x + y * y)).
math.degrees(X) — конвертирует радианы в градусы.
math.radians(X) — конвертирует градусы в радианы.
math.cosh(X) — вычисляет гиперболический косинус.
math.sinh(X) — вычисляет гиперболический синус.
math.tanh(X) — вычисляет гиперболический тангенс.
math.acosh(X) — вычисляет обратный гиперболический косинус.
math.asinh(X) — вычисляет обратный гиперболический синус.
math.atanh(X) — вычисляет обратный гиперболический тангенс.
math.erf(X) — функция ошибок.
math.erfc(X) — дополнительная функция ошибок (1 — math.erf(X)).
math.gamma(X) — гамма-функция X.
math.lgamma(X) — натуральный логарифм гамма-функции X.
math.pi — pi = 3,1415926.
math.e — e = 2,718281.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv — чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Источник: pythonworld.ru