El Lince tiene un pluviómetro en Sierra Bermeja: una noche recoge 9.8 mm de lluvia. Han sido 3 noches iguales. Multiplica y mira qué escribe Python. Tu misión: ejecutar el programa y fijarte en cada línea.
Haz esto: (1) Pulsa «Ejecutar paso a paso». (2) Mira la caja negra (lo que muestra) y la caja de memoria (lo que Python tiene guardado). (3) Cambia de caso con los botones. (4) Prueba tus propias cuentas abajo.
El programa y lo que ocurre
Programa en Python
Lo que muestra print
Lo que Python tiene guardado
Haz tus propias cuentas
Escribe una cuenta como en Python (con + - * /, paréntesis, round( , ) y ==). Ejemplo: 0.1 + 0.2
Este simulador imita a Python con números decimales: da los mismos resultados que PyCharm en estos casos.
Preguntas de comprobación
1. ¿Qué número escribe print(total) en el primer caso? ¿Es el que esperabas?
Escribe 29.400000000000002. Esperabas 29.4. El programa no ha dado ningún error.
2. Si print(round(total, 2)) escribe 29.4, ¿qué valor tiene total después?
El mismo de antes: 29.400000000000002. round cambia lo que se muestra, no lo que está guardado en total.
3. ¿Por qué total == 29.4 da False, aunque «a ojo» sean iguales?
Porque Python compara los números tal como los tiene guardados, y el guardado es un poquito distinto de 29.4.
Y ahora, una pregunta
El programa no ha fallado: ha hecho exactamente la multiplicación. Pero el resultado no es el que tú esperabas. ¿Falla el programa o falla lo que esperamos de él?
Eso lo resolvemos en clase. Todo ocurre en tu navegador y no se envía ningún dato.