Entrada / Salida en Python. Errores y excepciones
- Publicado por: Rafael Fernandez
- Categoría: Blog Principiante Python
Aprender a aplicar el manejo de errores en nuestras funciones y programas en Python.
Agregar interacción a nuestros programas usando la entrada y salida de datos.
Entrada / Salida – Interaccionar con el usuario en Python
Cuando estamos programando es muy importante la capacidad de interaccionar con el usuario. Para mostrar información al usuario vamos a usar print y para solicitarle información vamos a usar la función input. Ejemplo 1 de programa entrada / salida en Python:
print ("\nSimulacion de Chat") print ("=====================") print ("\nChat ; De 18 a 45 anos") print ("---------------------------\n") print ('Menu: ') nombre = input('Hola ¿cómo te llamás?: ') print ('Pepe: Hola', nombre, ', encantado de saber tu nombre') print ('Menu: ') edad = input('¿cuantos anos tienes?: ') print ('ok entonces tu tienes', edad, 'y yo tengo edad infinita porque soy un programa en python') print ('Menu: ') tiene_WebCam = input('¿Tienes camara? quiero verte, escribeme "si" o "no", ') if tiene_WebCam in ('s', 'S', 'si', 'Si', 'SI'): print ("Pon la camara que tengo ganas de ver como eres")
Ejemplo 2 simple:
print('En {0} programar es {1}'.format('AprednerPython.net','simple'))
Errores y excepciones
Errores de sintaxis en Python:
Son los errores más comunes al empezar con Python. Cuando ejecutas el programa el interprete señala donde se detectó dicho error (nombre del archivo y línea). Por ejemplo:
def iva() total=int( input('cuanto has gastado')) num=int( input('que tipo de producto has comprado 1)leche 2)pan 3)alcohol 4)otros')) if num==1: iv=6 elif num==2: iv=8 elif num==3: iv=14 else: iv=9 iva1=(total*iv/100) print(iva1) return iva1 print('el iva es:') iva() print("Programa terminado")
Al correr este programa nos sale este error:
runfile(‘C:/ejemplo1.py’, wdir=’C:)
File “C:/ejemplo1.py”, line 8
def iva()
^
SyntaxError: invalid syntax
Y como puedes ver nos esta señalando la función iva donde falta añadir los dos puntos (:) al final de la misma ( def iva(): ). Spyder también nos marca este error con una x en rojo donde nos dice ‘ invalidad syntax’.
Excepciones en python
Tambien hay que tener en cuenta que aunque el programa sea sintácticamente correcto se pueden generar errores al ejecutarlo. Estos errores se llaman excepciones. Algunas de las excepciones más comunes son:
ZeroDivisionError: integer division or modulo by zero
Una división mal gestionada
NameError: name ‘pan’ is not defined
La variable pan no esta definida
TypeError: cannot concatenate ‘str’ and ‘int’ objects
No se pueden concatenar string con integer (caracteres con números enteros)
expected an indented block
Normalmente es un error del sangrado
Manejar excepciones con try en python
Con la excepciones try podemos capturar errores para que el código no de un error y se pare la ejecución. A continuación presentamos los códigos para capturar excepciones y algunos ejemplos:
try: # código para controlar excepciones except IOError: # entra en caso de una excepción IOError except ZeroDivisionError: # entra en caso de una excepción ZeroDivisionError except: # entra en caso de una excepción que no corresponda a ninguno # de los except previos
Ejemplo de una división por 0 donde se captura el error y el programa se ejecuta correctamente:
a=5 b=0 try: f=a/b; except ZeroDivisionError: print (" No se puede dividir por 0") except: print ("Oops! No era válido. Intente nuevamente...")
Ejemplo con la cláusula finally:
def dividir(x, y): try: result = x / y except ZeroDivisionError: print ("¡division por cero!") else: print ("el resultado es", result) finally: print ("ejecutando la clausula finally") a=5 b=2 dividir(a,b)
¡Ahora tus programas serán a prueba de errores!? El manejo de errores le brinda un aspecto de profesionalismo a nuestros programas así que es mejor que lo tomes como buena práctica.
➡ ¿No sabes nada de Python? Aprende todo lo necesario
en nuestro Curso de Python para Principiantes:
[…] Si has llegado hasta aquí enorabuena 🥈 pasa a la siguiente lección ➡ Entrada / Salida en Python. Errores y excepciones […]
[…] lenguaje de programación. Aprenderemos a depurar nuestros programas y a reconocer los típicos errores al ejecutar nuestros programas. La penúltima parte del curso esta enfocada en realizar operaciones de algebra, […]
[…] ➡ Entrada / Salida en Python. Errores y excepciones […]
Para las excepciones el error debe de estar dentro de try, entonce significa que pondria todo mi programa dentro de try y al final de mi codigo las excepciones? o dividir y poner try & except solo en funciones con posible fallos>?
si es como en c# entonces si puedes tener uno para todo el programa, y otros anidados para las funciones o para ciertas porciones del código.