Error en la precedencia de operadores?

Pepe Aracil pepe en diselpro.com
Vie Oct 14 10:56:46 CEST 2005


Me he topado con este error.
Supongo que sera un problema de precedencia de operadores.


---- Code ----

 >>> a = 5.3
 >>> b = 2.4
 >>>
 >>> print "%.2f" % a*b

Traceback (most recent call last):
   File "<stdin>", line 1, in ?
TypeError: can't multiply sequence to non-int

-----

La verdad es que a uno se le queda cara de tonto hasta que descubre que ha 
intentado multiplicar una cadena por un numreo real.

En fin, creo que el operador "%" cuando se ecuentra en una cadena con formato, 
deberia tener la precedencia más baja posible. No así cuando se trata de una 
división de enteros. Esto supongo que pasa por reutilizar un mismo operador para 
operaciones diferentes.


Salud.




Más información sobre la lista de distribución Python-es