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