如何立方数字

时间:2014-07-01 20:54:41

标签: python syntax syntax-error exponentiation

我今天刚开始使用Python作为我的课程,我的一个问题是在Python中使用数字。我知道这样做的方法是x^3,但这在Python中不起作用。我只是想知道我将如何做到这一点。

这是我到目前为止所尝试的内容,但正如您所看到的,我不断收到语法错误:

>>> def volume (v) :
    return v^3
volume(4)
SyntaxError: invalid syntax

9 个答案:

答案 0 :(得分:14)

Python使用** operator进行求幂,而不是^ operator(这是一个按位异或):

>>> 3*3*3
27
>>>
>>> 3**3  # This is the same as the above
27
>>>

但请注意,由于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
>>>

当你在交互式解释器中时,换行允许Python知道函数volume的定义已经完成。

答案 1 :(得分:3)

实际上,不同的符号在不同的编程语言中意味着不同的东西。在某些语言中,^表示指数,但在Python中,指数运算符符号为**

>>> 3**3
27

^符号用于按位&#39; xor&#39;操作:

>>> 1^1
0
>>> 1^0
1

阅读operator module上的文档,了解Python如何真正对待这些符号。

答案 2 :(得分:2)

使用*键两次

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

答案 3 :(得分:1)

您可以使用**运算符进行指数计算。

def volume(v)
    return v**3

答案 4 :(得分:1)

在数字和电源之间使用两个星号。数学中的Ex 2^5在python中是2**5。您也可以按照math.pow(100, 2) = 10000.0

的方式执行某些操作

答案 5 :(得分:0)

做到这一点的最佳方法是

cube = lambda x: x**3

cube(3)

但是另一个解决方案就像是导致相同的结果

cube = lambda x: x*x**2

cube(3)

另一个替代解决方案就像

math.pow(3,3)

all将返回数字3的多维数据集。

答案 6 :(得分:0)

def volume(v):
    result = v * v * v
    return result


print("enter a number to be cubed: ")
print(volume(int(input())))

def volume(v):
    result = v ** 3
    return result


print("enter a number to be cubed: ")
print(volume(int(input())))

答案 7 :(得分:0)

您的语法正在尝试使用^作为幂运算符,但是您应该使用**运算符。例如:

>>> def volume (v) :
...   return v ** 3
...
>>> volume(4)
64

答案 8 :(得分:-1)

我已经使用简单的print函数进行了尝试,可以使用**运算符来计算立方体

a = int(input())
b = int(input())

print(a**3)
print(b**3)