1.3 Entrada y salida estándar, conversión de tipos e interacción con el usuario
1. Salida estándar con print() y f-strings formateadas La función print() emite información a la consola del sistema. Las f-strings (cadenas literales formateadas) permiten intercalar expresiones y controlar decimales con precisión científica: \(\text{f"Magnitud: \{valor:.4e\} unidades"}\) Ejemplo: Para mostrar la constante de Planck con 4 cifras decimales en notación exponencial: \(\text{print(f"h = \{6.62607015e-34:.4e\} J s")}\) 2. Entrada de datos interactiva con input() La función input() suspende la ejecución hasta que el usuario introduce datos por teclado y pulsa retorno. Retorna siempre una cadena de texto (str): \(\text{dato_crudo} = \text{input("Ingrese parámetro: ")}\) Ejemplo: Para solicitar el nombre del operador del microscopio: \(\text{operador} = \text{input("Identificador de usuario: ")}\) 3. Conversión explícita de tipos (casting) Al capturar números por teclado, es obligatorio convertirlos explícitamente a tipos numéricos antes de realizar operaciones matemáticas: \(\text{valor_entero} = \text{int(cadena)} \quad \text{y} \quad \text{valor_real} = \text{float(cadena)}\) Ejemplo: Para capturar una concentración molar en notación científica introducida por el usuario: \(\text{conc} = \text{float(input("Concentración molar (M): "))}\) 4. Validación de datos y control preventivo de errores Si el usuario introduce caracteres no numéricos al solicitar un número, Python lanza una excepción de tipo ValueError. Empleamos bloques try-except para asegurar robustez: \(\text{try:}\) $$\text{valor} = \text{float(entrada)}$$ $$\text{except ValueError:}$$ \(\text{print("Entrada no numérica inválida")}\) Ejemplo: Para comprobar que la longitud de onda introducida sea estrictamente positiva: \(\text{valido} = (\text{long_onda} > 0.0)\) Ejemplo 1: Formateo científico de constantes físicas fundamentales en tabla comparativa mediante f-strings.
Asignación de magnitudes en variables flotantes.
Definimos tres constantes de física cuántica y nanotecnología:
Impresión con alineación y especificadores de formato científico.
Utilizamos f-strings con ancho de campo fijo y tres decimales exponenciales:
Las f-strings garantizan columnas perfectamente tabuladas sin recurrir a módulos externos.
Lectura interactiva de longitud de onda y cálculo de la energía fotónica asociada con conversión de tipo.
Simulación de captura y conversión a float.
Convertimos la entrada de texto correspondiente a 632.8 nanómetros a metros:
Cálculo y emisión formateada de la energía.
Determinamos la energía del fotón en julios y en electrón-voltios:
Para 632.8 nm (láser de Helio-Neón), la energía fotónica resulta exactamente 1.96 eV.
Conversor térmico interactivo entre escalas Celsius y Kelvin para criogenia.
Captura del valor en grados Celsius y conversión numérica.
Asignamos el valor térmico capturado y aplicamos la transformación física:
Salida con control de signo y precisión.
Mostramos el estado criogénico formateado:
El punto de ebullición del nitrógeno líquido a -196.15 °C corresponde exactamente a 77.00 K.
Formateo estructurado de reporte de transmitancia y absorbancia óptica.
Cálculo analítico de absorbancia a partir de transmitancia porcentual.
Convertimos la transmitancia al rango unitario y calculamos la absorbancia como -log10(T):
Presentación en caja de informe estandarizada.
Emitimos un bloque de texto formateado con líneas separadoras:
Para una transmitancia del 45.20 %, la absorbancia óptica resulta ser de 0.3449 unidades de absorbancia.
Validación defensiva de entrada numérica de potencial electrostático con control de excepciones.
Implementación de la estructura try-except.
Protegemos la operación de casting contra entradas no numéricas:
Verificación del valor de salida.
Comprobamos que el programa no colapsa y continúa con la ejecución:
La interceptación de ValueError previene caídas inesperadas en sistemas de adquisición desatendidos.