Buenos días.

Ricardo tiene razón.

-2**2 = -(2^2) = -4
(-2)**2 = -2^2 = 4

Un saludo.


El 24/12/16 a las 04:54, Johnny Alonso escribió:

Hola Ricardo, Por definición “La potencia es resultado de tomar un número como factor 2 o más veces”. Aritmética de Baldor, capítulo XV, Elevación a potencias y sus operaciones inversas, página 152.

-2**2 = -2 * -2

Leyes de la potenciación:

Todo número elevado a la cero  es igual a 1, x**0 = 1

-2**0 = 1

Todo número elevado a un exponente par (múltiplo de 2) es positivo, en caso contrario se mantiene el signo del número.

-2**2 = 4

-2**3 = -8

Lo anterior lo puedes verificar en la calculadora de un celular IPhone o Samsung, incluso en la de Windows.

Es evidente que en Python es así, y lo acepto porque así está documentado, pero es algo para tener en cuenta cuando programas en él.

Ricardo, con respecto a las matemáticas en este caso, estas equivocado.

Saludos, Johnny Alonso

*De:*Python-es [mailto:python-es-bounces+johnny.alonso.quintero=gmail....@python.org] *En nombre de *Ricardo Cárdenes
*Enviado el:* viernes, 23 de diciembre de 2016 5:04 p. m.
*Para:* La lista de python en castellano
*Asunto:* Re: [Python-es] Python 3.5.2

No, no es una excepción.

En matemáticas, la exponenciación tiene prioridad:

  -x^2 = -(x^2)

Los lenguajes de programación que implementan este operador, suelen adherirse a la regla (Python, PHP, D, Ruby, ...). Luego tienes disidentes como JavaScript, pero bueno...

Así que no, Python no es "una excepción a las reglas algebraicas".

Saludos,

Ricardo

2016-12-23 5:31 GMT-10:00 Johnny Alonso <johnny.alonso.quint...@gmail.com <mailto:johnny.alonso.quint...@gmail.com>>:

    Gracias Kiko, me queda claro, es excepción a las reglas
    algebraicas en Python.

    *De:*Python-es [mailto:python-es-bounces+johnny.alonso.quintero
    <mailto:python-es-bounces%2Bjohnny.alonso.quintero>=gmail....@python.org
    <mailto:gmail....@python.org>] *En nombre de *Kiko
    *Enviado el:* viernes, 23 de diciembre de 2016 10:08 a. m.
    *Para:* La lista de python en castellano
    *Asunto:* Re: [Python-es] Python 3.5.2

    El 23 de diciembre de 2016, 16:05, Kiko <kikocorre...@gmail.com
    <mailto:kikocorre...@gmail.com>> escribió:

        El 23 de diciembre de 2016, 15:06, Johnny Alonso
        <johnny.alonso.quint...@gmail.com
        <mailto:johnny.alonso.quint...@gmail.com>> escribió:

            Hola todos, estoy iniciándome en Python y creo que se
            presenta un fallo de precedencia con el operador menos unario:

            >>> -2**2  # probable error

            -4

            >>> -2 * -2  # Ok

            4

            >>> pow(-2, 2)  # Ok

            4

            >>>

            Por favor, si alguien sabe si esto está documentado podría
            indicarme en donde lo encuentro, de lo contrario, podrían
            reportarlo a la fundación, yo no lo se hacer.

        Se evalúa antes el operador potencia:
        
https://docs.python.org/3/reference/expressions.html#unary-arithmetic-and-bitwise-operations

    Antes he ido muy rápido:
    https://docs.python.org/3/reference/expressions.html#the-power-operator

            Saludos, JohnnyAlonso


            _______________________________________________
            Python-es mailing list
            Python-es@python.org <mailto:Python-es@python.org>
            https://mail.python.org/mailman/listinfo/python-es


    _______________________________________________
    Python-es mailing list
    Python-es@python.org <mailto:Python-es@python.org>
    https://mail.python.org/mailman/listinfo/python-es



_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a