如何对一个数进行立方运算

3
我今天刚开始使用Python上课,遇到一个问题是如何计算一个数字的立方。我知道在数学中应该是用x^3表示,但在Python中这样是不行的。请问我该怎么做呢?
这是我尝试过的代码,但是你可以看到,我一直收到语法错误提示:
>>> def volume (v) :
    return v^3
volume(4)
SyntaxError: invalid syntax

1
我知道该做法是 x^3,但在Python中这并不可行。这本身就是一个矛盾。如果这在Python中不起作用,那显然不是正确的方法。 - glglgl
9个回答

20
Python使用**运算符进行指数运算,而不是 ^运算符(这是位异或运算符):
>>> 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的定义已经完成。

3

实际上,不同的编程语言中,不同的符号代表不同的含义。在一些语言中,^表示指数运算,但在Python中,指数运算符号是**

>>> 3**3
27
^ 符号用于按位“异或”操作:
>>> 1^1
0
>>> 1^0
1

阅读关于操作符模块的文档,以了解Python如何真正处理这些符号。


2
使用 * 按键两次。
def volume (v) :
    return v**3
volume(4)

1
你可以使用 ** 运算符进行指数计算。
def volume(v)
    return v**3

1

在数字和指数之间使用两个星号。例如,在数学中的2^5在Python中表示为2**5。您还可以使用类似于math.pow(100, 2) = 10000.0的方式进行计算。


0

最好的方法是

cube = lambda x: x**3

cube(3)

但另一种解决方案可以是类似的,产生相同的结果。

cube = lambda x: x*x**2

cube(3)

另一个替代方案可以是这样的

math.pow(3,3)

所有的代码都会返回数字3的立方。


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())))

0

您的语法尝试使用^作为指数运算符,但您应该使用**运算符。例如:

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

-1

我已经尝试过使用简单的print函数,你可以通过使用**运算符来计算立方。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接