▷ Cursos de Programación de 0 a Experto © Garantizados
Iniciar sesión Sign up

Iniciar sesión/Registrarse

Cursos Favoritos 0

Buscar

Menú

Entrada / Salida en Python. Errores y excepciones

  • Publicado por: Rafael Fernandez
  • Categoría: Blog Principiante Python
5 comentarios
Entrada-Salida-en-Python.-Errores-y-excepciones
Objetivo del 7º tutorial de Curso de Python para Principiantes

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:

Curso Python desde 0

Autor:Rafael Fernandez

Empezé estudiando Física aunque mas tarde me decanté por la Ingeniería. Después de hacer un master de Hidráulica (esp. Aero-hidrodinámica de Vehículos) comenzé el PhD en Ingeniería. Hoy en día me encuentro trabajando para la empresa ITK Engineering AG como ingeniero de desarrollo. Entre mi pasiones está el desarrollo e implementación de todo tipo de códigos en Python y otros lenguages. Puedes visitar mi perfil en Linkedin.

5 comentarios

  • Funciones y como depurar (debbugin) en Spyder Anaconda: - El Blog para Aprender Python
    junio 15, 2017 a 8:31 am Responder

    […] Si has llegado hasta aquí enorabuena 🥈 pasa a la siguiente lección ➡ Entrada / Salida en Python. Errores y excepciones […]

  • Introducción del curso de Principiante - El Blog para Aprender Python
    julio 17, 2017 a 8:34 am Responder

    […] 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, […]

  • Ejemplo de Números primos - ® Cursos Python desde 0 a Experto ? garantizados
    abril 5, 2018 a 8:55 am Responder

    […] ➡ Entrada / Salida en Python. Errores y excepciones […]

  • Vera
    septiembre 26, 2019 a 3:29 pm Responder

    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>?

    • Joni
      noviembre 15, 2019 a 3:01 am Responder

      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.

Deja una respuesta Cancelar la respuesta

⏩ Curso de OpenCV ⭐⭐
⏩ Curso Python de Análisis de Datos ⭐⭐
⏩ Curso Python de SQLite ⭐⭐
⏩ Curso Python para Raspberry Pi ⭐⭐
⏩ Curso Python de Selenium ⭐⭐
⏩ Curso Python de Web Scraping ⭐⭐
⏩ Curso Python de Videojuegos ⭐⭐
⏩ Curso de Machine Learning ⭐⭐⭐
⏩ Curso Python de Deep Learning ⭐⭐⭐
⏩ Curso Python PLN ⭐⭐⭐
⏩ Curso Python Dlib & OpenCV ⭐⭐⭐
⏩ Curso de Tkinter ⭐
⏩ Curso Python de Redes ⭐
curso de python para principiantes
curso-opencv-vision-artificial
curso-analisis-de-datos
machine-learning-python
curso-selenium
curso-videojuegos
web-scraping-python
curso-dlib-opencv
curso-raspberry-pi

Cursos de Iniciación

⏩ Tutorial Python desde cero ⭐
⏩ Aprender Java desde cero⭐
⏩ Aprender JavaScript desde 0 ⭐
⏩ Aprender Html y Css desde 0 ⭐
⏩ Aprender PHP desde 0 ⭐
⏩ Aprender C desde 0 ⭐

Sobre

Unipython es una plataforma de aprendizaje online dirigida a personas que quieran mejorar su carrera profesional. El objetivo de Unipython es proporcionar cursos online de calidad en los campos de la Programación, Internet de las cosas, Analisis de Datos, Inteligencia Artificial, Desarrollo Web/Apps, Testeo, Videojuegos y Tecnología Creativa.

+Info

  • Que dicen de nosotros
  • Contacto
  • FAQ
  • Política de Privacidad
  • Términos y condiciones

Para empresas

  • Contrata a nuestros graduados
  • Servicios para empresas

Síguenos

  • Linkedin
  • Youtube
Buscar

WhatsApp!