web-dev-qa-db-fra.com

Comment faire une exponentiation en python?

def cube(number):
  return number^3
print cube(2)

Je m'attendrais à cube(2) = 8, mais je reçois plutôt cube(2) = 1

Qu'est-ce que je fais mal?

24
Rohan Sobha

^ est l'opérateur xor .

** est une exponentiation.

2**3 = 8

66
Stefan Kendall

Vous pouvez également utiliser la bibliothèque math. Par exemple:

import math
x = math.pow(2,3) # x = 2 to the power of 3
10
Iron Fist

si vous voulez le répéter plusieurs fois - vous devriez envisager d'utiliser numpy:

import numpy as np

def cube(number):
    "can be also called with a list"
    return np.exp(number,3)

print cube(2)
print cube([2,8])
1
omerbp