Как найти куб числа в питоне

Кубическим корнем числа называют такое значение, которое при возведении в куб дает исходное число. Другими словами, кубический корень — это значение, при троекратном умножении на которое мы можем получить число под корнем.

Кубический корень обозначается символом «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

user3795416's user avatar

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's user avatar

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

kojiro's user avatar

kojirokojiro

74.1k19 gold badges142 silver badges199 bronze badges

Use the * key twice

def volume (v) :
    return v**3
volume(4)

Antti Haapala -- Слава Україні's user avatar

answered Jul 1, 2014 at 21:16

Nobi's user avatar

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 Barros's user avatar

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's user avatar

Ajay Sivan

2,7612 gold badges32 silver badges56 bronze badges

answered Jan 6, 2019 at 15:37

yogesh's user avatar

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

hanumanDev's user avatar

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

user212514's user avatar

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's user avatar

Ajay Sivan

2,7612 gold badges32 silver badges56 bronze badges

answered Apr 14, 2019 at 1:32

Shavaiz Shams's user avatar

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 to x.__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 to x.__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 expression x % y may not return the same result. The intent of the C
standard is that fmod(x, y) be exactly (mathematically; to infinite
precision) equal to x - n*y for some integer n such that the result has
the same sign as x and magnitude less than abs(y). Python’s x % 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 is 1e100-1e-100, which cannot be
represented exactly as a float, and rounds to the surprising 1e100. For
this reason, function fmod() is generally preferred when working with
floats, while Python’s x % 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 that x == m * 2**e exactly. If x is zero,
returns (0.0, 0), otherwise 0.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 of gcd(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%, pass rel_tol=0.05. The default
tolerance is 1e-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, including NaN. 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 that 0.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), and False 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 in exp(x) - 1
can result in a significant loss of precision; the expm1()
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 as log(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
than log(x, 10).

math.pow(x, y)

Return x raised to the power y. Exceptional cases follow
Annex ‘F’ of the C99 standard as far as possible. In particular,
pow(1.0, x) and pow(x, 0.0) always return 1.0, even
when x is a zero or a NaN. If both x and y are finite,
x is negative, and y is not an integer then pow(x, y)
is undefined, and raises ValueError.

Unlike the built-in ** operator, math.pow() converts both
its arguments to type float. 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 and pi.
The vector in the plane from the origin to point (x, y) makes this angle
with the positive X axis. The point of atan2() 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) and atan2(1, 1) are both pi/4, but atan2(-1,
-1)
is -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 of float('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.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти размах набора в статистике
  • Как найти количество диагоналей правильного многоугольника
  • Отоневролог как найти в воронеже
  • Как исправить социофобию
  • Северная звезда как ее найти на небеса

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии