Python - expresiones evaluadas con python

 
Vista:

expresiones evaluadas con python

Publicado por carlos (3 intervenciones) el 03/10/2009 17:53:57
Tengo problemas con el round cuando le pongo el argumento para que solo muestre los decimales que yo quiero, no me hace ni caso por ejemplo si pongo: abs(round(-34.2765,1)) el resultado debería ser 34.3, pero a mi me sale: 34.299999999999997 , otro ejemplo: round(2.4545,2) python me da: 2.4500000000000002 alguie me podría aclarar por que me pasa esto?

Otra cosa, por que x*=1+1 se evalua como x*2 en vez de x*1+1 no se supone que la multiplicacion debería hacerse primero? entonces no es lo mismo que escribir x=x*1+1 .

Mas cosas, por que Python evalúa 10**-3 como 0.001 , no debería ser -1000?

Si alguie tiene respuestas...........

Un saludo.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:expresiones evaluadas con python

Publicado por Sebastian lopez Buritica (17 intervenciones) el 17/10/2009 21:57:30
para la version de pyton 2.6.2
a ti primer pregunta, utilizas el comando print

print abs(round(-34.2765,1)) # solo cuestiones de manejo interno de datos
print 34.3 # me refiero a que es la forma interna que python representa los numeros
print 2.45

bueno x*= se traduce como x= x* , lluego x*=1+1 se traduce como x = x*(1+1);
x**= se traduce a x= x** , luego x**=-3 es x= x**-3 o mejor dicho x= 1/x**3
entonces por matematica basica ningun numero a una potencia negativa da un
numero negativo , a no ser que el numero sea complejo en cuyo caso podría serlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar