Hola, Jhonny Alonso,

Matemáticamente las expresiones -22 y -(22) son iguales porque la potenciación 
tiene prevalencia sobre la multiplicación y el parentesis no está alterando esa 
prevalencia, de pronto lo que deseabas escribir era (-2)2  en el cual debe 
hacerse la potencia del número -2.

Saludos,

Juan Pablo.

De: Python-es [mailto:python-es-bounces+jpfernandez=udem.edu...@python.org] En 
nombre de Johnny Alonso
Enviado el: sábado, 24 de diciembre de 2016 11:52 a.m.
Para: 'La lista de python en castellano' <python-es@python.org>
Asunto: Re: [Python-es] Python 3.5.2

Hola Ricardo y Armando, si las expresiones que muestran son código Python, 
lamento decirles que están bastante lejos de la realidad.
Están comparando expresiones con operadores diferentes y que el resultado en 
ocasiones les coincida es mera casualidad.
En Python el operador ** es potenciación y ^ equivale a la operación XOR entre 
bist.
>>> -2**2
-4
>>> -(2^2)
0
Armando ni siquiera coinciden los resultados, dándote el beneficio de la duda, 
y utilizas el ^ como operador de potenciación, entonces:
La expresión -(2^2) en Python equivale a:
>>> -(2**2)
-4
Aquí los resultados con el operador ** coinciden, -4 en ambos casos, y lo 
acepto como correcto desde el punto de vista del lenguaje, pero no desde el 
punto de vista matemático, pues matemáticamente las expresión -2² es diferente 
a -(2²).
Los desarrolladores de lenguajes son libres de incorporar lo que desean, esto 
también aplica para la precedencia de operadores y el sentido de evaluación de 
las expresiones matemáticas, pero de igual forma lo documentan para que los 
usuarios no incurramos en errores asumiendo que todos cumplen las reglas de 
evaluación matemática al pie de la letra.

Conjetura: Python no implementa el operador menos unario, pero si el binario el 
cual tiene menor precedencia que el de potenciación, así:
-x**n es interpretado en Python como 0-x**n.
>>> -2**2
-4
>>> 0 - 2**2
-4

Saludos, Johnny Alonso


De: Python-es 
[mailto:python-es-bounces+johnny.alonso.quintero=gmail....@python.org] En 
nombre de Armando Ortega
Enviado el: sábado, 24 de diciembre de 2016 6:24 a. m.
Para: La lista de python en castellano
Asunto: Re: [Python-es] Python 3.5.2

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<mailto:Python-es@python.org>

https://mail.python.org/mailman/listinfo/python-es







[Universidad de Medellín]

La información contenida en este correo electrónico, está diseñada para uso 
exclusivo de la persona o entidad a la que va dirigida, y puede contener datos 
que sean confidenciales. Si el lector de este mensaje no es el destinatario 
previsto, empleado o agente responsable, se le notifica que cualquier 
divulgación, distribución o copia de esta comunicación está estrictamente 
prohibida. Si usted ha recibido este mensaje por error, por favor notifíquelo 
al correo del cual fue enviado.
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a