Кубическим корнем числа называют такое значение, которое при возведении в куб дает исходное число. Другими словами, кубический корень — это значение, при троекратном умножении на которое мы можем получить число под корнем.
Кубический корень обозначается символом «3√». В случае с квадратным корнем мы использовали только символ ‘√’ без указания степени, который также называется радикалом.
Например, кубический корень из 125, обозначаемый как 3√125, равен 5, так как при умножении 5 на само себя три раза получается 5 x 5 x 5 = 125 = 5^3.
Чтобы вычислить кубический корень в Python, используйте простое математическое выражение x ** (1. / 3.), результатом которого является кубический корень из x в виде значения с плавающей точкой. Для проверки, корректно ли произведена операция извлечения корня, округлите полученный результат до ближайшего целого числа и возведите его в третью степень, после сравните, равен ли результат x.
x = 8
cube_root = x ** (1./3.)
print(cube_root)
Вывод
В Python для того, чтобы возвести число в степень, мы используем оператор **. Указание степени, равной 1/3, в выражении с ** позволяет получить кубический корень данного числа.
Извлечение кубического корня из отрицательного числа в Python
Мы не можем найти кубический корень из отрицательных чисел указанным выше способом. Например, кубический корень из целого числа -64 должен быть равен -4, но Python возвращает 2+3.464101615137754j.
Чтобы найти кубический корень из отрицательного числа в Python, сначала нужно применить функцию abs(), а затем можно воспользоваться представленным ранее простым выражением с ** для его вычисления.
Давайте напишем полноценную функцию, которая будет проверять, является ли входное число отрицательным, а затем вычислять его кубический корень соответствующим образом.
def get_cube_root(x):
if x < 0:
x = abs(x)
cube_root = x**(1/3)*(-1)
else:
cube_root = x**(1/3)
return cube_root
print(round(get_cube_root(64)))
print(get_cube_root(-64))
Вывод
Как видите, нам нужно округлить результат, чтобы получить целочисленное значение кубического корня.
Использование функции Numpy cbrt()
Библиотека numpy предлагает еще один вариант нахождения кубического корня в Python, который заключается в использовании метода cbrt(). Функция np.cbrt() вычисляет кубический корень для каждого элемента переданного ей массива.
import numpy as np
cubes = [125, -64, 27, -8, 1]
cube_roots = np.cbrt(cubes)
print(cube_roots)
Вывод
Функция np.cbrt() — самый простой способ получения кубического корня числа. Она не испытывает проблем с отрицательными входными данными и возвращает целочисленное число, например, -4 для переданного в качестве аргумента числа -64, в отличие от вышеописанных подходов.
I just started using Python today for my class and one of my problems is cubing a number in Python. I know the way to do it is x^3
, but that doesn’t work in Python. I was just wondering how I would be able to do that.
This is what I tried so far, but as you can see, I keep getting syntax errors:
>>> def volume (v) :
return v^3
volume(4)
SyntaxError: invalid syntax
asked Jul 1, 2014 at 20:54
1
Python uses the **
operator for exponentiation, not the ^
operator (which is a bitwise XOR):
>>> 3*3*3
27
>>>
>>> 3**3 # This is the same as the above
27
>>>
Note however that the syntax error is being raised because there is no newline before volume(4)
:
>>> def volume(v):
... return v**3
... volume(4)
File "<stdin>", line 3
volume(4)
^
SyntaxError: invalid syntax
>>>
>>> def volume(v):
... return v**3
... # Newline
>>> volume(4)
64
>>>
When you are in the interactive interpreter, the newline lets Python know that the definition of function volume
is finished.
tripleee
173k33 gold badges269 silver badges313 bronze badges
answered Jul 1, 2014 at 20:57
Actually different symbols mean different things in different programming languages. In some languages, ^
means exponent, but in Python, the exponent operator symbol is **
:
>>> 3**3
27
The ^
symbol is for the bitwise ‘xor’ operation:
>>> 1^1
0
>>> 1^0
1
Read the documentation on the operator module to see how Python really treats these symbols.
answered Jul 1, 2014 at 20:57
kojirokojiro
74.1k19 gold badges142 silver badges199 bronze badges
Use the *
key twice
def volume (v) :
return v**3
volume(4)
answered Jul 1, 2014 at 21:16
NobiNobi
1,1134 gold badges23 silver badges41 bronze badges
You can use the **
operator to do exponential calculations.
def volume(v)
return v**3
answered Jul 1, 2014 at 20:57
Rafael BarrosRafael Barros
2,7271 gold badge21 silver badges27 bronze badges
Use two asteric’s between the number and the power. Ex 2^5
in math is 2**5
in python. You can also do something along the lines of math.pow(100, 2) = 10000.0
.
answered Jul 1, 2014 at 21:23
The Best way to do this is
cube = lambda x: x**3
cube(3)
but one another solution be like which result in the same
cube = lambda x: x*x**2
cube(3)
one another alter solution be like
math.pow(3,3)
all will return the cube of number 3.
Ajay Sivan
2,7612 gold badges32 silver badges56 bronze badges
answered Jan 6, 2019 at 15:37
0
def volume(v):
result = v * v * v
return result
print("enter a number to be cubed: ")
print(volume(int(input())))
or
def volume(v):
result = v ** 3
return result
print("enter a number to be cubed: ")
print(volume(int(input())))
answered Jan 5, 2020 at 14:41
hanumanDevhanumanDev
6,57211 gold badges80 silver badges145 bronze badges
Your syntax is attempting to use ^
as the exponentiation operator, but you should be using the **
operator. For example:
>>> def volume (v) :
... return v ** 3
...
>>> volume(4)
64
answered Jan 5, 2020 at 15:40
user212514user212514
3,1101 gold badge15 silver badges11 bronze badges
I have tried this with using a simple print
function, you can calculate the cube by using **
operators
a = int(input())
b = int(input())
print(a**3)
print(b**3)
Ajay Sivan
2,7612 gold badges32 silver badges56 bronze badges
answered Apr 14, 2019 at 1:32
You are here: Home / Python / How to Cube Numbers in Python
To cube a number in Python, the easiest way is to multiply the number by itself three times.
cube_of_10 = 10*10*10
We can also use the pow() function from the math module to cube a number.
import math
cube_of_10 = math.pow(10,3)
Finally, we can find the cube of a number in Python with the built in exponentiation operator **.
cube_of_10 = 10**3
Cubing numbers is a common task to do when working with numbers in a program. In Python, we can easily cube a number.
By definition, the cube of a number is the number multiplied by itself three times. We can calculate the cube of a number in Python by multiplying it by itself three times.
Below are some examples of how to find the cubes of various numbers in Python
print(4*4*4)
print(9*9*9)
print(13*13*13)
print(80*80*80)
#Output:
64.0
729.0
2197.0
512000.0
Squaring a Number in Python with the math module pow() Function
The Python math module has many powerful functions which make performing certain calculations in Python very easy.
One such calculation which is very easy to perform in Python is finding the cube of a number.
The pow() function from the Python math module also lets us compute the cube of a number.
The pow() function takes two numbers as input, the first number is the base and the second number is the exponent.
For cubing in Python, we pass “3” to the second parameter in the pow() function.
Below are some examples of how to use the pow() function to find the cubes of various numbers.
import math
print(math.pow(4, 3))
print(math.pow(9, 3))
print(math.pow(13, 3))
print(math.pow(80, 3))
#Output:
64.0
729.0
2197.0
512000.0
Finding the Cube of a Number with the ** Operator in Python
We can also use the built in ** to find exponents in Python. To find a cube with the built in exponentiation operator ** , we just put “3” after **.
Below are some examples of how to use the Python built in ** operator to find the cubes of different numbers.
import math
print(4**(3))
print(9**(3))
print(13**(3))
print(80**(3))
#Output:
64.0
729.0
2197.0
512000.0
Hopefully this article has been useful for you to learn how to cube numbers in Python.
Other Articles You’ll Also Like:
- 1. Replace Values in Dictionary in Python
- 2. Count Unique Values in pandas DataFrame
- 3. Convert timedelta to Seconds in Python
- 4. numpy pi – Get Value of pi Using numpy Module in Python
- 5. Multiple Condition if Statements in Python
- 6. Generate Random Float Between 0 and 1 Using Python
- 7. How to Group By Columns and Find Minimum in pandas DataFrame
- 8. Break Out of Function in Python with return Statement
- 9. Changing Python Turtle Size with turtlesize() Function
- 10. Perfect Numbers in Python
About The Programming Expert
The Programming Expert is a compilation of a programmer’s findings in the world of software development, website creation, and automation of processes.
Programming allows us to create amazing applications which make our work more efficient, repeatable and accurate.
At the end of the day, we want to be able to just push a button and let the code do it’s magic.
You can read more about us on our about page.
Reader Interactions
Кубическим корнем числа называют такое значение, которое при возведении в куб дает исходное число. Другими словами, кубический корень — это значение, при троекратном умножении на которое мы можем получить число под корнем.
Кубический корень обозначается символом «3√». Для квадратного корня мы просто использовали символ ‘√’ без указания степени, также называемой корнем.
Например, кубический корень из 125, обозначаемый как 3√125, равен 5, так как при умножении 5 на само себя три раза получается 5 x 5 x 5 = 125 = 5^3.
Кубический корень в Python
Чтобы вычислить кубический корень в Python, используйте простое математическое выражение x **(1 / 3), которое возвращает кубический корень x как значение с плавающей запятой. Чтобы проверить правильность извлечения корня, округлите полученный результат до ближайшего целого числа и возведите его в третью степень, затем сравните, равен ли результат x.
x = 8
cube_root = x ** (1./3.)
print(cube_root)
Вывод:
> 2.0
В Python мы используем оператор **, чтобы возвести число в степень. Указание степени, равной 1/3, в выражении с помощью ** позволяет получить кубический корень из заданного числа.
Извлечение кубического корня из отрицательного числа в Python
Мы не можем найти кубический корень из отрицательных чисел указанным выше способом. Например, кубический корень из целого числа -64 должен быть равен -4, но Python возвращает 2+3.464101615137754j.
Чтобы найти кубический корень из отрицательного числа в Python, вы должны сначала использовать функцию abs(), затем вы можете использовать простое выражение с **, представленное выше, для его вычисления.
Давайте напишем полную функцию, которая будет проверять, является ли входное число отрицательным, а затем соответствующим образом вычислять его кубический корень.
def get_cube_root(x):
if x < 0:
x = abs(x)
cube_root = x**(1/3)*(-1)
else:
cube_root = x**(1/3)
return cube_root
print(round(get_cube_root(64)))
print(get_cube_root(-64))
Вывод:
> 4
> -3.9999999999999996
Как видите, нам нужно округлить результат, чтобы получить целочисленное значение кубического корня.
Использование функции Numpy cbrt()
Библиотека numpy предлагает еще один способ найти кубический корень в Python — использовать метод cbrt(). Функция np.cbrt() вычисляет кубический корень каждого переданного ей элемента массива.
import numpy as np
cubes = [125, -64, 27, -8, 1]
cube_roots = np.cbrt(cubes)
print(cube_roots)
Вывод:
[ 5. -4. 3. -2. 1.]
Функция np.cbrt() — самый простой способ получить кубический корень из числа. Он не имеет проблем с отрицательными входными данными и возвращает целое число, такое как -4, для числа -64, переданного в качестве аргумента, в отличие от подходов, описанных выше.
Источник: pythonru.com
This module is always available. It provides access to the mathematical
functions defined by the C standard.
These functions cannot be used with complex numbers; use the functions of the
same name from the cmath
module if you require support for complex
numbers. The distinction between functions which support complex numbers and
those which don’t is made since most users do not want to learn quite as much
mathematics as required to understand complex numbers. Receiving an exception
instead of a complex result allows earlier detection of the unexpected complex
number used as a parameter, so that the programmer can determine how and why it
was generated in the first place.
The following functions are provided by this module. Except when explicitly
noted otherwise, all return values are floats.
9.2.1. Number-theoretic and representation functions¶
-
math.
ceil
(x)¶ -
Return the ceiling of x, the smallest integer greater than or equal to x.
If x is not a float, delegates tox.__ceil__()
, which should return an
Integral
value.
-
math.
copysign
(x, y)¶ -
Return a float with the magnitude (absolute value) of x but the sign of
y. On platforms that support signed zeros,copysign(1.0, -0.0)
returns -1.0.
-
math.
fabs
(x)¶ -
Return the absolute value of x.
-
math.
factorial
(x)¶ -
Return x factorial. Raises
ValueError
if x is not integral or
is negative.
-
math.
floor
(x)¶ -
Return the floor of x, the largest integer less than or equal to x.
If x is not a float, delegates tox.__floor__()
, which should return an
Integral
value.
-
math.
fmod
(x, y)¶ -
Return
fmod(x, y)
, as defined by the platform C library. Note that the
Python expressionx % y
may not return the same result. The intent of the C
standard is thatfmod(x, y)
be exactly (mathematically; to infinite
precision) equal tox - n*y
for some integer n such that the result has
the same sign as x and magnitude less thanabs(y)
. Python’sx % y
returns a result with the sign of y instead, and may not be exactly computable
for float arguments. For example,fmod(-1e-100, 1e100)
is-1e-100
, but
the result of Python’s-1e-100 % 1e100
is1e100-1e-100
, which cannot be
represented exactly as a float, and rounds to the surprising1e100
. For
this reason, functionfmod()
is generally preferred when working with
floats, while Python’sx % y
is preferred when working with integers.
-
math.
frexp
(x)¶ -
Return the mantissa and exponent of x as the pair
(m, e)
. m is a float
and e is an integer such thatx == m * 2**e
exactly. If x is zero,
returns(0.0, 0)
, otherwise0.5 <= abs(m) < 1
. This is used to “pick
apart” the internal representation of a float in a portable way.
-
math.
fsum
(iterable)¶ -
Return an accurate floating point sum of values in the iterable. Avoids
loss of precision by tracking multiple intermediate partial sums:>>> sum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 0.9999999999999999 >>> fsum([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1]) 1.0
The algorithm’s accuracy depends on IEEE-754 arithmetic guarantees and the
typical case where the rounding mode is half-even. On some non-Windows
builds, the underlying C library uses extended precision addition and may
occasionally double-round an intermediate sum causing it to be off in its
least significant bit.For further discussion and two alternative approaches, see the ASPN cookbook
recipes for accurate floating point summation.
-
math.
gcd
(a, b)¶ -
Return the greatest common divisor of the integers a and b. If either
a or b is nonzero, then the value ofgcd(a, b)
is the largest
positive integer that divides both a and b.gcd(0, 0)
returns
0
.New in version 3.5.
-
math.
isclose
(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶ -
Return
True
if the values a and b are close to each other and
False
otherwise.Whether or not two values are considered close is determined according to
given absolute and relative tolerances.rel_tol is the relative tolerance – it is the maximum allowed difference
between a and b, relative to the larger absolute value of a or b.
For example, to set a tolerance of 5%, passrel_tol=0.05
. The default
tolerance is1e-09
, which assures that the two values are the same
within about 9 decimal digits. rel_tol must be greater than zero.abs_tol is the minimum absolute tolerance – useful for comparisons near
zero. abs_tol must be at least zero.If no errors occur, the result will be:
abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
.The IEEE 754 special values of
NaN
,inf
, and-inf
will be
handled according to IEEE rules. Specifically,NaN
is not considered
close to any other value, includingNaN
.inf
and-inf
are only
considered close to themselves.New in version 3.5.
See also
PEP 485 – A function for testing approximate equality
-
math.
isfinite
(x)¶ -
Return
True
if x is neither an infinity nor a NaN, and
False
otherwise. (Note that0.0
is considered finite.)New in version 3.2.
-
math.
isinf
(x)¶ -
Return
True
if x is a positive or negative infinity, and
False
otherwise.
-
math.
isnan
(x)¶ -
Return
True
if x is a NaN (not a number), andFalse
otherwise.
-
math.
ldexp
(x, i)¶ -
Return
x * (2**i)
. This is essentially the inverse of function
frexp()
.
-
math.
modf
(x)¶ -
Return the fractional and integer parts of x. Both results carry the sign
of x and are floats.
-
math.
trunc
(x)¶ -
Return the
Real
value x truncated to an
Integral
(usually an integer). Delegates to
x.__trunc__()
.
Note that frexp()
and modf()
have a different call/return pattern
than their C equivalents: they take a single argument and return a pair of
values, rather than returning their second return value through an ‘output
parameter’ (there is no such thing in Python).
For the ceil()
, floor()
, and modf()
functions, note that all
floating-point numbers of sufficiently large magnitude are exact integers.
Python floats typically carry no more than 53 bits of precision (the same as the
platform C double type), in which case any float x with abs(x) >= 2**52
necessarily has no fractional bits.
9.2.2. Power and logarithmic functions¶
-
math.
exp
(x)¶ -
Return
e**x
.
-
math.
expm1
(x)¶ -
Return
e**x - 1
. For small floats x, the subtraction inexp(x) - 1
can result in a significant loss of precision; theexpm1()
function provides a way to compute this quantity to full precision:>>> from math import exp, expm1 >>> exp(1e-5) - 1 # gives result accurate to 11 places 1.0000050000069649e-05 >>> expm1(1e-5) # result accurate to full precision 1.0000050000166668e-05
New in version 3.2.
-
math.
log
(x[, base])¶ -
With one argument, return the natural logarithm of x (to base e).
With two arguments, return the logarithm of x to the given base,
calculated aslog(x)/log(base)
.
-
math.
log1p
(x)¶ -
Return the natural logarithm of 1+x (base e). The
result is calculated in a way which is accurate for x near zero.
-
math.
log2
(x)¶ -
Return the base-2 logarithm of x. This is usually more accurate than
log(x, 2)
.New in version 3.3.
See also
int.bit_length()
returns the number of bits necessary to represent
an integer in binary, excluding the sign and leading zeros.
-
math.
log10
(x)¶ -
Return the base-10 logarithm of x. This is usually more accurate
thanlog(x, 10)
.
-
math.
pow
(x, y)¶ -
Return
x
raised to the powery
. Exceptional cases follow
Annex ‘F’ of the C99 standard as far as possible. In particular,
pow(1.0, x)
andpow(x, 0.0)
always return1.0
, even
whenx
is a zero or a NaN. If bothx
andy
are finite,
x
is negative, andy
is not an integer thenpow(x, y)
is undefined, and raisesValueError
.Unlike the built-in
**
operator,math.pow()
converts both
its arguments to typefloat
. Use**
or the built-in
pow()
function for computing exact integer powers.
-
math.
sqrt
(x)¶ -
Return the square root of x.
9.2.3. Trigonometric functions¶
-
math.
acos
(x)¶ -
Return the arc cosine of x, in radians.
-
math.
asin
(x)¶ -
Return the arc sine of x, in radians.
-
math.
atan
(x)¶ -
Return the arc tangent of x, in radians.
-
math.
atan2
(y, x)¶ -
Return
atan(y / x)
, in radians. The result is between-pi
andpi
.
The vector in the plane from the origin to point(x, y)
makes this angle
with the positive X axis. The point ofatan2()
is that the signs of both
inputs are known to it, so it can compute the correct quadrant for the angle.
For example,atan(1)
andatan2(1, 1)
are bothpi/4
, butatan2(-1,
is
-1)-3*pi/4
.
-
math.
cos
(x)¶ -
Return the cosine of x radians.
-
math.
hypot
(x, y)¶ -
Return the Euclidean norm,
sqrt(x*x + y*y)
. This is the length of the vector
from the origin to point(x, y)
.
-
math.
sin
(x)¶ -
Return the sine of x radians.
-
math.
tan
(x)¶ -
Return the tangent of x radians.
9.2.4. Angular conversion¶
-
math.
degrees
(x)¶ -
Convert angle x from radians to degrees.
-
math.
radians
(x)¶ -
Convert angle x from degrees to radians.
9.2.5. Hyperbolic functions¶
Hyperbolic functions
are analogs of trigonometric functions that are based on hyperbolas
instead of circles.
-
math.
acosh
(x)¶ -
Return the inverse hyperbolic cosine of x.
-
math.
asinh
(x)¶ -
Return the inverse hyperbolic sine of x.
-
math.
atanh
(x)¶ -
Return the inverse hyperbolic tangent of x.
-
math.
cosh
(x)¶ -
Return the hyperbolic cosine of x.
-
math.
sinh
(x)¶ -
Return the hyperbolic sine of x.
-
math.
tanh
(x)¶ -
Return the hyperbolic tangent of x.
9.2.6. Special functions¶
-
math.
erf
(x)¶ -
Return the error function at
x.The
erf()
function can be used to compute traditional statistical
functions such as the cumulative standard normal distribution:def phi(x): 'Cumulative distribution function for the standard normal distribution' return (1.0 + erf(x / sqrt(2.0))) / 2.0
New in version 3.2.
-
math.
erfc
(x)¶ -
Return the complementary error function at x. The complementary error
function is defined as
1.0 - erf(x)
. It is used for large values of x where a subtraction
from one would cause a loss of significance.New in version 3.2.
-
math.
gamma
(x)¶ -
Return the Gamma function at
x.New in version 3.2.
-
math.
lgamma
(x)¶ -
Return the natural logarithm of the absolute value of the Gamma
function at x.New in version 3.2.
9.2.7. Constants¶
-
math.
pi
¶ -
The mathematical constant π = 3.141592…, to available precision.
-
math.
e
¶ -
The mathematical constant e = 2.718281…, to available precision.
-
math.
tau
¶ -
The mathematical constant τ = 6.283185…, to available precision.
Tau is a circle constant equal to 2π, the ratio of a circle’s circumference to
its radius. To learn more about Tau, check out Vi Hart’s video Pi is (still)
Wrong, and start celebrating
Tau day by eating twice as much pie!New in version 3.6.
-
math.
inf
¶ -
A floating-point positive infinity. (For negative infinity, use
-math.inf
.) Equivalent to the output offloat('inf')
.New in version 3.5.
-
math.
nan
¶ -
A floating-point “not a number” (NaN) value. Equivalent to the output of
float('nan')
.New in version 3.5.
CPython implementation detail: The math
module consists mostly of thin wrappers around the platform C
math library functions. Behavior in exceptional cases follows Annex F of
the C99 standard where appropriate. The current implementation will raise
ValueError
for invalid operations like sqrt(-1.0)
or log(0.0)
(where C99 Annex F recommends signaling invalid operation or divide-by-zero),
and OverflowError
for results that overflow (for example,
exp(1000.0)
). A NaN will not be returned from any of the functions
above unless one or more of the input arguments was a NaN; in that case,
most functions will return a NaN, but (again following C99 Annex F) there
are some exceptions to this rule, for example pow(float('nan'), 0.0)
or
hypot(float('nan'), float('inf'))
.
Note that Python makes no effort to distinguish signaling NaNs from
quiet NaNs, and behavior for signaling NaNs remains unspecified.
Typical behavior is to treat all NaNs as though they were quiet.
See also
- Module
cmath
- Complex number versions of many of these functions.