Clase 2¶
Entrada interactiva y salida estándar¶
En un programa, la entrada de datos corresponde a la información que la persona usuaria proporciona durante la ejecución, mientras que la salida estándar corresponde a los resultados que el programa muestra en pantalla.
Entrada interactiva de datos¶
La entrada interactiva permite que el programa solicite información al usuario mediante el teclado mientras se está ejecutando.
En Python, esto se realiza utilizando la función input().
Hay que guardar la información
La función input() por sí sola recibe el dato, pero hay que almacenarlo en una variable para preservar su contenido.
En este ejemplo:
- El programa detiene su ejecución hasta que se ingresa un valor.
- El valor digitado se almacena en una variable.
- El estado del programa cambia al asignarse ese valor.
Tipo de dato recibido...
La función input() siempre retorna un valor de tipo str, independientemente de lo que se digite.
Si se ingresa un número, hay que convertirlo explícitamente a entero con
int(), por ejemplo.
Entrada de datos y tipos de datos¶
Aunque la persona usuaria digite números, el valor recibido por input() es texto.
Por esta razón, para realizar operaciones matemáticas, es necesario convertir el tipo de dato.
Posible problema
Si el texto ingresado no representa un número válido, la conversión fallará y se genera un error en tiempo de ejecución.
Salida estándar de datos¶
La salida estándar permite mostrar información en pantalla mediante la función print().
También es posible mostrar texto junto con variables:
La salida estándar se utiliza para:
- Mostrar resultados finales.
- Informar al usuario sobre el estado del programa (logs).
- Comunicar mensajes importantes al usuario.
Verificación y validación de datos¶
Cuando un programa recibe datos desde la entrada interactiva, no se puede asumir que esos datos son correctos. La persona usuaria puede cometer errores al digitar o ingresar valores que no tienen sentido dentro del problema.
Por esta razón, antes de utilizar un dato, es importante verificarlo y validarlo.
Verificación de datos¶
La verificación consiste en comprobar que un dato:
- Tiene un formato adecuado.
- Puede ser tratado como el tipo de dato esperado.
Por ejemplo, si un programa necesita trabajar con números, primero se debe verificar que el valor ingresado realmente pueda interpretarse como un número.
Validación de datos¶
La validación consiste en comprobar que un dato, además de tener un formato correcto, cumple con las reglas del problema.
Por ejemplo:
- Una edad debe ser un número, pero además debe representar una edad posible.
- Una nota debe ser un número, pero debe pertenecer a un rango razonable.
En esta etapa del curso, la validación se aborda a nivel conceptual. Cuando se estudien los condicionales, va a quedar más claro.
Manejo básico de errores y excepciones¶
Al programar, es normal cometer errores. Python, al detectar un problema, muestra mensajes de error que indican qué ocurrió y por qué el programa no pudo continuar.
Errores comunes en Python¶
Python identifica los errores mediante tipos de excepción, los cuales permiten reconocer la causa del problema.
La siguiente tabla muestra algunos de los errores más frecuentes:
| Error | Descripción | Ejemplo |
|---|---|---|
ValueError |
El valor es del tipo correcto, pero su contenido es inválido | Convertir "abc" a entero |
TypeError |
Se usan tipos incompatibles en una operación | Sumar un número con texto |
ZeroDivisionError |
División entre cero | 10 / 0 |
NameError |
Uso de una variable que no existe | Imprimir una variable no definida |
IndexError |
Acceso a una posición inexistente (listas) | Acceder a un índice fuera de rango |
KeyError |
Uso de una clave inexistente (diccionarios) | Acceder a una clave no definida |
SyntaxError |
Error en la estructura del código | Falta de paréntesis o comillas |
Algunos errores se detectan antes de ejecutar...
Algunos errores, como SyntaxError, se detectan antes de ejecutar el programa.
Otros aparecen durante la ejecución.
Ejemplo de un error común¶
Si el texto ingresado no representa un número válido, Python genera un ValueError.
Errores en tiempo de ejecución¶
Un error en tiempo de ejecución ocurre cuando:
- El programa comienza a ejecutarse correctamente.
- Se encuentra una instrucción que no puede completarse.
- Python detiene el programa y muestra un mensaje de error.
Muchos de los errores vistos anteriormente, como ValueError o ZeroDivisionError, ocurren durante la ejecución del programa.
Excepciones¶
Una excepción es el mecanismo que utiliza Python para indicar que ocurrió un error durante la ejecución.
Cuando se produce una excepción:
- Se interrumpe el flujo normal del programa.
- Python informa el tipo de error ocurrido.
- El programa termina si la excepción no se maneja.
Manejo de excepciones¶
Python permite capturar excepciones y definir una respuesta controlada cuando ocurre un error.
Esto se realiza utilizando las palabras clave (keywords) try y except.
try: # (1)!
numero = int(input("Digite un número: "))
print(numero)
except ValueError: # (2)!
print("Ocurrió un error al convertir el dato")
- Intente ejecutar este bloque de código.
- Si se genera un
ValueError, se ejecuta este bloque.
En este ejemplo:
- El bloque
trycontiene instrucciones que pueden fallar. - El bloque
exceptse ejecuta si ocurre el error indicado. - El programa no finaliza abruptamente.
Calculadora básica¶
A continuación, se muestra un ejemplo de una calculadora básica en Python con los conceptos vistos hasta el momento.
print("=== Calculadora básica ===")
try:
a_texto = input("Digite el primer número: ")
b_texto = input("Digite el segundo número: ")
a = float(a_texto)
b = float(b_texto)
print("\nResultados:")
print("Suma:", a + b)
print("Resta:", a - b)
print("Multiplicación:", a * b)
print("División:", a / b)
except ValueError:
print("\nError: se esperaba un número válido.")
except ZeroDivisionError:
print("\nError: no se puede dividir entre cero.")
print("\nFin del programa.")
\nequivale a un salto de línea; es decir, un Enter