Python y Poderes Matemáticas


He estado aprendiendo Python pero estoy un poco confundido. Los instructores en línea me dicen que use el operador * * en lugar de ^ cuando estoy tratando de elevar a un cierto número. Ejemplo:

print 8^3

Da una salida de 11. Pero lo que busco (me dicen) es más parecido a: imprimir 8**3 que da la respuesta correcta de 512. ¿Pero por qué?

¿Puede alguien explicarme esto? ¿Por qué es que 8^3 no es igual a 512, ya que es la respuesta correcta? ¿En qué caso sería 11 (el resultado de 8^3)?

Traté de buscar ASÍ, pero solo estoy viendo información relativa a obtener un módulo al dividir.

Author: Interrupt, 2012-08-20

3 answers

Operator ^es un operador bitwise , que hace "bitwise exclusive or".
Más: http://wiki.python.org/moin/BitwiseOperators

El operador de energía es **, como 8**3 que es igual a 512.
Ref: http://docs.python.org/reference/expressions.html#the-power-operator

 53
Author: behnam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:35:35

Los símbolos representan diferentes operadores.

El ^ representa la exclusiva o(XOR).

Cada bit de la salida es el mismo que el bit correspondiente en x si que poco en y es 0, y es el complemento del bit de x si ese bit en y es 1.

** representa al operador de energía. Esa es la forma en que el lenguaje está estructurado.

 13
Author: Sam Dolan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:56:06

Es solo que ^ no significa "exponente" en Python. Significa "bitwise XOR". Véase la documentación.

 0
Author: BrenBarn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-08-20 19:34:17