Está en la página 1de 2

Universidad Nacional de San Agustín de Arequipa

Escuela Profesional de Ingeniería de Telecomunicaciones

Ingeniero Renzo Bolivar ‑ Docente DAIE


Curso : Computación 1
PRÁCTICA 06
PYTHON ‑ Excepciones y Funciones
Objetivos:
1. Introducción a Programación Orientada a Objetos
1. Estructura Funciones
1. Manejo de Excepciones
1. Entorno de trabajo en Jupyter Notebook y Spyder.
1. Practica Colaborativa con sincronización en GitLab.
Nota: NO OLVIDAR INICIAR EL TRABAJO COLABORATIVO: en directorio: Practica6 (con carpetas de Apellidos)
Primero:
JEFE DE PROYECTO: Inicia la practica Sincronizando repositorio local con proyecto GitLab.
(Ver Video: "Trabajo Colaborativo: Inicio Jefe de Proyecto").
Segundo:
COLABORADORES: Los colaboradores Clonan el proyecto de GitLab creado por el Jefe de Proyecto
a su repositorio local.
(Ver Video: "Trabajo Colaborativo: Inicio Colaboradores").

Ingresamos al entorno de desarrollo Jupyter Notebook, abrimos un terminal en Linux:


conda activate Computacion1
jupyter notebook

Creamos un archivo nuevo Practica06.ipynb (dentro de nuestra carpeta con nuestro Apellido).

Ingresamos al entorno de desarrollo Spyder, abrimos un terminal en Linux:


conda activate Computacion1
spyder

Creamos un archivo nuevo Practica06.py (dentro de nuestra carpeta con nuestro Apellido).

En ambos archivos por separado digitamos las 03 partes de la practica Desarrollo, Ejemplos y Ejercicios (no olvidar
sincronizar con el repositorio local).

DESARROLLO
Estructura excepciones
Las Excepciones se utilizan para evitar cortes durante la ejecución del programa.
In [ ]: try: 
    <código> 
    <código> 
    .......... 
except: 
    <código> 
    <código> 
    .......... 

El comando try funciona de la siguiente manera.


Primero, se ejecuta la cláusula try (bloque de código entre las palabras clave try y except ).
Si no se produce ninguna excepción, se omite la cláusula except y try finaliza la ejecución de la instrucción.
Si se produce una excepción durante la ejecución de la cláusula try , se salta el resto de la cláusula. Luego, si su tipo
coincide con la excepción nombrada después de except , se ejecuta la cláusula except y luego la ejecución
continúa después de try .
Si ocurre una excepción que no coincide con la excepción nombrada en la cláusula except , se pasa al Bloque despues de
try ; si no se encuentra ningún controlador, es una excepción no controlada y la ejecución se detiene con un mensaje de
error .

Tipicos Errores
In [ ]:  

ZeroDivisionError: Se genera cuando el segundo argumento de una operación de división o módulo es cero. El valor
asociado es una cadena que indica el tipo de operandos y la operación.
In [ ]:  

ValueError: Se genera cuando se aplica una operación o función a un objeto de tipo inadecuado. El valor asociado es una
cadena que proporciona detalles sobre la falta de coincidencia de tipos.
https://docs.python.org/es/3/library/exceptions.html#ValueError
Validación de números:
In [ ]: #validar ingreso de numero enteros 

Validación de números y otra condición:


In [ ]: #Validar ingreso de numeros enteros positivos 

Estructura Funciones
¿Por qué utilizar Funciones?
La creación de una nueva función le da la oportunidad de nombrar un grupo de sentencias, lo que hace que su programa sea
más fácil de leer y depurar.
Las funciones pueden hacer que un programa sea más pequeño eliminando el código repetitivo. Más tarde, si haces un
cambio, sólo tienes que hacerlo en un lugar.
Dividir un programa largo en funciones le permite depurar las partes de una en una y luego ensamblarlas en un todo de
trabajo.
Las funciones bien diseñadas son a menudo útiles para muchos programas. Una vez que escribes y depuras uno, puedes
reutilizarlo.
In [ ]: def nombre_de_funcion(<argumento,s>): 
    <código> 
    <código> 
    .................... 

El bloque de líneas de código despues de los : de la función se ejecutarán al momento de llamar a la dicha función.
Función Principal main
In [ ]: #Inicio mis programas con varias funciones 
 
 
 
#Programa MAIN principal 

Hacer un programa que solicite ingreso de DNI correctamente:


In [ ]: #Mi primera funcion validar dni 
 
 
 
 
#Programa MAIN principal 

EJEMPLOS
EJEMPLOS
Deberan entregar 02 archivos : 01 archivo digitado en Practica06.ipynb ( Actual) y 01 archivo nuevo digitado en el entorno
de desarrollo de Spyder llamado Practica06.py
Hacer un programa que imprima un menú de opciones y que valide correctamente los ingresos:
In [1]: #libreria del sistema operativo 
import os 
 
 
def menu(): 
    """ 
    Función que limpia la pantalla y muestra nuevamente el menu 
    """ 
    os.system('clear') # Borra pantalla en un terminal, en Jupyter no funciona 
    titulo = ("  Menú General  ") 
    print (titulo.center(50,'*')) 
    print ('\n\n') 
    print ("Selecciona una Opción") 
    print ("\t1 ­ Primera Opción") 
    print ("\t2 ­ Segunda Opción") 
    print ("\t3 ­ Tercera Opción") 
    print ("\t9 ­ salir") 
 
def validar(): 
    while True: 
        # Mostramos el menu 
        menu() 
         
        # solicituamos una opción al usuario 
        opcionMenu = input("inserta un numero valor >> ") 
         
         
        if opcionMenu=="1": 
            print ("") 
            input("Has pulsado la opción 1...\npulsa una tecla para continuar") 
        elif opcionMenu=="2": 
            print ("") 
            input("Has pulsado la opción 2...\npulsa una tecla para continuar") 
        elif opcionMenu=="3": 
            print ("") 
            input("Has pulsado la opción 3...\npulsa una tecla para continuar") 
        elif opcionMenu=="9": 
            break 
        else: 
            print ("") 
            input("No has pulsado ninguna opción correcta...\npulsa una tecla para continuar") 
    return opcionMenu 
 
if __name__ == '__main__': 
    validar() 
     
    print('\tFINALIZO EL PROGRAMA!!!!!') 

*****************  Menú General  ***************** 
 
 
 
Selecciona una Opción 
  1 ­ Primera Opción 
  2 ­ Segunda Opción 
  3 ­ Tercera Opción 
  9 ­ salir 
inserta un numero valor >> "·!$"·$!$ 
 
No has pulsado ninguna opción correcta... 
pulsa una tecla para continuar 
*****************  Menú General  ***************** 
 
 
 
Selecciona una Opción 
  1 ­ Primera Opción 
  2 ­ Segunda Opción 
  3 ­ Tercera Opción 
  9 ­ salir 
inserta un numero valor >> erewrewrw 
 
No has pulsado ninguna opción correcta... 
pulsa una tecla para continuar 
*****************  Menú General  ***************** 
 
 
 
Selecciona una Opción 
  1 ­ Primera Opción 
  2 ­ Segunda Opción 
  3 ­ Tercera Opción 
  9 ­ salir 
inserta un numero valor >> 23 
 
No has pulsado ninguna opción correcta... 
pulsa una tecla para continuar 
*****************  Menú General  ***************** 
 
 
 
Selecciona una Opción 
  1 ­ Primera Opción 
  2 ­ Segunda Opción 
  3 ­ Tercera Opción 
  9 ­ salir 
inserta un numero valor >> 1 
 
Has pulsado la opción 1... 
pulsa una tecla para continuar 
*****************  Menú General  ***************** 
 
 
 
Selecciona una Opción 
  1 ­ Primera Opción 
  2 ­ Segunda Opción 
  3 ­ Tercera Opción 
  9 ­ salir 
inserta un numero valor >> 2 
 
Has pulsado la opción 2... 
pulsa una tecla para continuar 
*****************  Menú General  ***************** 
 
 
 
Selecciona una Opción 
  1 ­ Primera Opción 
  2 ­ Segunda Opción 
  3 ­ Tercera Opción 
  9 ­ salir 
inserta un numero valor >> 9 
  FINALIZO EL PROGRAMA!!!!! 

EJERCICIOS
EJERCICIOS
Cada integrante deberá ejecutar SOLO 01 Ejercicio (grupos de 6 se repetira la pregunta para 02 integrantes)
Deberan entregar 02 archivos : 01 archivo digitado en Practica05.ipynb ( Actual) y 01 archivo nuevo digitado en el entorno
de desarrollo de Spyder llamado Practica05.py
1.‑ Hacer un programa
siguientes opciones: que imprima en pantalla un menu "Numeros Pares e Impares" con la
1. Ingresar numeros de inicio y de fin del rango
2. Imprimir los numeros pares del rango.
3. Imprimir los numeros Impares del rango.
4. Imprimir los numeros Primos del rango.
5. Salir
Controlar las excepciones , Utilizar función main y varias funciones .
2.‑ Hacer
opciones: un programa que imprima en pantalla menu "Tabla de Multiplicar" con la siguientes
1. Imprimir Tabla de multiplicar de numeros pares
2. Imprimir Tabla de multiplicar de numeros impares
3. Ingrese numero para Imprimir su tabla de multiplicar.
4. Salir
Controlar las excepciones , Utilizar función main y varias funciones .
3.‑ Hacer un programa
las siguientes opciones:que imprima en pantalla menu "Datos del Postulante" que solicite ingresar
1. Nombre (sin numeros o simbolos extraños)
2. Apellido (sin numeros o simbolos extraños)
3. DNI
4. Celular 1
5. Celular 2
6. Altura
7. Peso
8. Imprimir los datos del postulante
9. Salir
Controlar las excepciones , Utilizar función main y varias funciones .
4.‑ Hacer
opciones: un programa que imprima en pantalla menu "Numeros Capicua" con la siguientes
1. Imprimir Numeros Capicua de 3 cifras
2. Imprimir Numeros Capicua de 4 cifras
3. Validar Numeros Capicua de 3 cifras
4. Validar Numeros Capicua de 4 cifras
5. Salir
Controlar las excepciones , Utilizar función main y varias funciones .

No usar listas

5.‑ Hacer un programa


siguientes opciones: que imprima en pantalla menu "Datos del Paciente" que solicite ingresar la
1. Nombre (sin numeros o simbolos extraños)
2. Apellido (sin numeros o simbolos extraños)
3. Edad
4. Peso
5. Sexo
6. Imprimir Dieta
7. Salir
La dieta dependera de
Para Mujeres:
Si su peso es menor a 40Kilos no hay dieta
Si su peso esta entre 40kilos y 50Kilos dieta rica en vegetales (detallar dieta)
Si su peso esta entre 50kilos y 60Kilos dieta rica en vegetales y frutas (detallar dieta)
Si su peso esta entre 60kilos y 80Kilos dieta rica en vegetales, frutas y semillas (detallar dieta)
Si su peso es mayor a 80Kilos debe hacerse cirugía
Para Varones:
Si su peso es menor a 60Kilos no hay dieta
Si su peso esta entre 60kilos y 75Kilos dieta rica en vegetales (detallar dieta)
Si su peso esta entre 75kilos y 95Kilos dieta rica en vegetales y frutas (detallar dieta)
Si su peso esta entre 95kilos y 120Kilos dieta rica en vegetales, frutas y semillas (detallar dieta)
Si su peso es mayor a 120Kilos debe hacerse cirugía
Controlar las excepciones , Utilizar función main y varias funciones .

SINCRONIZAR CON GITLAB


SINCRONIZAR CON GITLAB
Ingresamos a la linea de comando.
En nuestro directorio de Practica6 .
Añadimos los ULTIMOS cambios en nuestro repositorio local git:
(Programacion1) renzo@misti:~$ git add -A

(Programacion1) renzo@misti:~$ git commit -m "Finalizando Ejercicios de la Practica 06"

Actualizamos nuestros repositorio local con los cambios del respositorio de GitLab:
(Programacion1) renzo@misti:~$ git pull origin master

Enviamos nuestros cambios al repositorio remoto de GitLab:


(Programacion1) renzo@misti:~$ git push origin master

Para tener evidencia del trabajo realizado envía un solo integrante al Aula Virtual, la carpeta con todo el proyecto en zip.
Finaliza la Práctica 06

Bibliografía
[1] Tutorial de Python https://docs.python.org/es/3/tutorial/index.html
[2] Curso Python en Kaggle https://www.kaggle.com/colinmorris/hello‑python
[3] How to Think Like a Computer Scientist http://openbookproject.net/thinkcs/python/english3e/
[4] Automate the Boring Stuff with Python https://automatetheboringstuff.com/
[5] Excepciones https://docs.python.org/3/library/exceptions.html#TypeError
Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js

También podría gustarte