Десетични функции в Python | Комплект 1
Python в своята дефиниция предоставя определени методи за извършване на по-бърза десетична аритметика с плаваща запетая с помощта на модула „decimal“.
Важни операции с десетични числа
1. sqrt() :- Тази функция изчислява корен квадратен от десетичното число.
2. exp() :- Тази функция връща e^x (експонента) от десетичното число.
# Python code to demonstrate the working of # sqrt() and exp() # importing 'decimal' module to use decimal functions import decimal # using exp() to compute the exponent of decimal number a = decimal . Decimal ( 4.5 ) . exp () # using sqrt() to compute the square root of decimal number b = decimal . Decimal ( 4.5 ) . sqrt () # printing the exponent print ( 'The exponent of decimal number is : ' end = '' ) print ( a ) # printing the square root print ( 'The square root of decimal number is : ' end = '' ) print ( b )
Изход:
The exponent of decimal number is : 90.01713130052181355011545675
The square root of decimal number is : 2.121320343559642573202533086Python
3. ln() :- Тази функция се използва за изчисляване натурален логаритъм от десетичното число.
4. log10() :- Тази функция се използва за изчисляване дневник (база 10) на десетично число.
# Python code to demonstrate the working of # ln() and log10() # importing 'decimal' module to use decimal functions import decimal # using ln() to compute the natural log of decimal number a = decimal . Decimal ( 4.5 ) . ln () # using sqrt() to compute the log10 of decimal number b = decimal . Decimal ( 4.5 ) . log10 () # printing the natural logarithm print ( 'The natural logarithm of decimal number is : ' end = '' ) print ( a ) # printing the log10 print ( 'The log(base 10) of decimal number is : ' end = '' ) print ( b )Изход:
The natural logarithm of decimal number is : 1.504077396776274073373258352
The log(base 10) of decimal number is : 0.6532125137753436793763169118
5. as_tuple() :- Връща десетичното число като кортеж, съдържащ 3 знака на аргумента (0 за + 1 за -) цифри и експонентна стойност .
6. fma(ab) :- Това „fma“ означава слято умножение и събиране . Изчислява (число*a)+b от числата в аргумента. Без закръгляване на (num*a) се извършва в тази функция.
Пример:
decimal.Decimal(5).fma(23) --> (5*2)+3 = 13Python
# Python code to demonstrate the working of # as_tuple() and fma() # importing 'decimal' module to use decimal functions import decimal # using as_tuple() to return decimal number as tuple a = decimal . Decimal ( - 4.5 ) . as_tuple () # using fma() to compute fused multiply and addition b = decimal . Decimal ( 5 ) . fma ( 2 3 ) # printing the tuple print ( 'The tuple form of decimal number is : ' end = '' ) print ( a ) # printing the fused multiple and addition print ( 'The fused multiply and addition of decimal number is : ' end = '' ) print ( b )Изход:
The tuple form of decimal number is : DecimalTuple(sign=1 digits=(4 5) exponent=-1)
The fused multiply and addition of decimal number is : 13Python
7. сравнение () :- Тази функция се използва за сравняване на десетични числа. Връща 1, ако първият десетичен аргумент е по-голям от втория -1, ако първият десетичен аргумент е по-малък от втория и 0, ако и двата са равни.
8. compare_total_mag() : - Сравнява общата величина на десетичните числа. Връща 1, ако първият десетичен аргумент е по-голям от 2-ри (знак за пренебрегване) -1, ако 1-вият десетичен аргумент е по-малък от 2-ри (знак за пренебрегване) и 0, ако и двата са равни (знак за пренебрегване).
# Python code to demonstrate the working of # compare() and compare_total_mag() # importing 'decimal' module to use decimal functions import decimal # Initializing decimal number a = decimal . Decimal ( 9.53 ) # Initializing decimal number b = decimal . Decimal ( - 9.56 ) # comparing decimal numbers using compare() print ( 'The result of comparison using compare() is : ' end = '' ) print ( a . compare ( b )) # comparing decimal numbers using compare_total_mag() print ( 'The result of comparison using compare_total_mag() is : ' end = '' ) print ( a . compare_total_mag ( b ))Изход:
The result of comparison using compare() is : 1
The result of comparison using compare_total_mag() is : -1Python
9. copy_abs() :- Тази функция отпечатва абсолютен стойност на десетичен аргумент.
10. copy_negate() :- Тази функция отпечатва отрицание на десетичен аргумент.
11. copy_sign() :- Тази функция отпечатва първия аргумент чрез копиране на знака от 2-ри аргумент .
# Python code to demonstrate the working of # copy_abs()copy_sign() and copy_negate() # importing 'decimal' module to use decimal functions import decimal # Initializing decimal number a = decimal . Decimal ( 9.53 ) # Initializing decimal number b = decimal . Decimal ( - 9.56 ) # printing absolute value using copy_abs() print ( 'The absolute value using copy_abs() is : ' end = '' ) print ( b . copy_abs ()) # printing negated value using copy_negate() print ( 'The negated value using copy_negate() is : ' end = '' ) print ( b . copy_negate ()) # printing sign effected value using copy_sign() print ( 'The sign effected value using copy_sign() is : ' end = '' ) print ( a . copy_sign ( b ))Изход:
The absolute value using copy_abs() is : 9.5600000000000004973799150320701301097869873046875
The negated value using copy_negate() is : 9.5600000000000004973799150320701301097869873046875
The sign effected value using copy_sign() is : -9.5299999999999993605115378159098327159881591796875Python
12. макс.() :- Тази функция изчислява максимум от две десетични числа.
13. мин() :- Тази функция изчислява минимум от две десетични числа.
# Python code to demonstrate the working of # min() and max() # importing 'decimal' module to use decimal functions import decimal # Initializing decimal number a = decimal . Decimal ( 9.53 ) # Initializing decimal number b = decimal . Decimal ( 7.43 ) # printing minimum of both values print ( 'The minimum of two numbers is : ' end = '' ) print ( a . min ( b )) # printing maximum of both values print ( 'The maximum of two numbers is : ' end = '' ) print ( a . max ( b ))Изход:
The minimum of two numbers is : 7.429999999999999715782905696
The maximum of two numbers is : 9.529999999999999360511537816