Día 11″Tipos de datos, Entero y Flotante»
Hola como están? , en este post vamos a referirnos sobre los tipos de datos, para esto ve este ejemplo.
Viste bien el resultado, ¿qué paso?, Python se equivoco, pues anda a tu interprete de Python y has la prueba si no me crees?
El resultado de dividir 3/2 no debería ser 1, sino 1.5, entonces Python se equivoco, pues bien te cuento que Python no se ha equivocado.
Cada valor utilizado en Python es de un tipo determinado, hasta el momento sólo hemos utilizado datos de tipo “entero”, es decir sin decimales, cuando se efectúa una operación, Python tiene en cuenta el tipo de los operandos a la hora de producir el resultado.
Entonces si los operandos son de tipo entero, el resultado será entero, como en el ejemplo anterior.
Si deseamos obtener resultados de tipo “real”, debemos usar operando reales, entonces los operandos deben llevar una parte decimal aunque este sea nula.
Hay diferencias entre los enteros y reales en Python más allá de que los primeros no tengan decimales y los segundos si.
Por ejemplo el numero 3 y el 3.0 son iguales en matemáticas, pero son diferentes en Python, entonces estas diferencias son:
· Los enteros suelen ocupar menos memoria
· Las operaciones entre enteros son, generalmente más rápidas
He de precisar algo respecto a la denominación de numero real, o numero con decimales, este termino no es el adecuado, en el mundo de los lenguajes de programación, nosotros usamos el termino “flotante” o “numero flotante”.
Conoce más de los números flotantes en este enlace
Entonces llamaremos numero con coma flotante, flotante o numero flotante a los números con decimales que podemos representar en nuestras computadoras.
Aun no te ha quedado, entonces una breve explicación.
Un numero flotante debe especificarse siguiendo ciertas reglas, en principio constan de 2 partes mantisa y exponente. El exponente se separa de la mantisa con la letra E , por ejemplo el número flotante 2E3, significa que tiene mantisa 2 y exponente 3, y representa el número 2*10^3 , es decir 2000, este es el ejemplo más censillo.
Entonces para que nuestro ejemplo por fin salga con el resultado correcto debemos escribirlo con números flotantes como en el ultimo ejemplo, pero también podemos mezclar en una misma expresión datos de tipos distintos.
Python sigue una regla sencilla, si hay datos de tipos distintos, el resultado es del tipo más general. Los flotantes son de tipo más general que los enteros.
Pero cuidado y pon atención a este ejemplo.
Que ha pasado nuevamente, el resultado debería haber sido 2.5 y no 2.0
Recuerda que Python evalúa la expresión paso a paso.
La división es prioritaria frente a la suma, por lo que ésta se lleva a cabo en primer lugar. La división tiene dos operandos, ambos de tipo entero, así que produce un resultado de tipo entero, el valor 1. La suma recibe, pues, un operando flotante(el de la izquierda) de valor 1.0, y otro entero ( el que resulta de la división), de valor 1. El resultado es un flotante y su valor es 2.0.
Entonces la forma correcta de realizar este ejemplo seria de la forma.
Nota: Lección extraída del libro “Introducción a la programación con Python pagina 33 y 34.
viejo sigo dia a dia tu blog muy bueno, voy en primer año de informatica
y me parece muy bueno que nos enseñes a ocupar este lenguaje
Explicas muy bien, de forma didactica. Asi da gusto aprender.
Late Night si vas en primer año, este blog sera genial para tí recomiendala y visitale a menudo.
Guilty gracias por tu comentario la idea es de explicar lo más didactico posible con ejemplos como un tutorial ese es la idea.
hola,
andaba buscando una tarea para
mi clase de informatica, y me encontre con tu blog,
es fantastico!, me encanto la forma de explicar las cosas!
voy a leer las demas lecciones para aprender mas y mejor!, jeje
de vdd, gracias por subir estas lecciones!
la ptm… que basura… mejor no escribas capullo… yo quiero saber como se convierten cadenas a entero… como en java
String n=»004″;
int n=Integer.parseInt(n);
ggggggggggggg
que chorradas lo que escriben!
facil
numero= «1»
numero=int(numero)
print (numero+1)
##resultado=2
Genial!!!!!!!!!!!!!!!! Mejor explicado, no pudo haber estado!! Estaba cometiendo el error de agregar float a la sentencia, pensando que me produciría un valor flotante, pero nada! Era tan simple como agregar «.0» 🙂 gracias 😉
audacious might be something you want to look into.
I know your web-site is about audacious but seriously. I have
seen sites like yours branch out into other areas and its been
to their benefit.
I was recommended this web site by my cousin. I’m not
certain whether or not this post is written by way of him as nobody else
understand such exact about my difficulty. You’re wonderful!
Thank you!