teslariu

integrador con funcion

Nov 26th, 2022
836
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.72 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # ejercicio integrador
  5.  
  6. """
  7. La lista de alumnos que creamos en el módulo anterior ahora debe ser un
  8. diccionario, en donde las claves serán nombres de alumnos y los valores
  9. sus respectivas cantidades de cursos.
  10.  
  11. Para esto se debe modificar el código de las opciones 1 y 2 (agregar un
  12. nuevo alumno y ver la lista de alumnos).
  13.  
  14. La tercera opción será “Ver la cantidad de cursos de un alumno”. Deberá
  15. solicitar el nombre de un alumno e imprimir en pantalla el número de
  16. cursos que tiene asociados como clave.
  17.  
  18. La cuarta opción es la de salir, como en la versión anterior.
  19.  
  20. Usar todo lo aprendido hasta el momento, el programa no debe de frenar
  21. de forma imprevista a causa de un error. Ya que en el material de lectura
  22. se vieron todas las posibles soluciones frente a los problemas que se
  23. puedan presentar.
  24.  
  25. """
  26. # Estrategia de resolución:
  27. # 1) construir el template while True
  28. # 2) Diagramar mi estructura de datos
  29.  
  30.  
  31. # alumnos = {"Juan":3, "Ana":4, "Victoria":2}
  32. alumnos = {}
  33.  
  34. def menu():
  35.     return """
  36.                Menu de opciones
  37.    ---------------------------------------
  38.    1 - Ver la lista de alumnos.
  39.    2 - Añadir un alumno a la lista.
  40.    3 - Ver cantidad de cursos de un alumno
  41.    4 - Salir.
  42.    ---------------------------------------
  43.    """
  44.  
  45. def imprimir(alumnos):
  46.     if not alumnos:
  47.         print("No hay alumnos")
  48.     else:
  49.         print("Lista de alumnos:")
  50.         for k,v in alumnos.items():
  51.             print(f"{k} - {v} cursos")
  52.  
  53.  
  54.  
  55.    
  56. def ingresar(alumnos):
  57.     nombre = input("Nombre: ")
  58.     while True:
  59.         cursos = input("Cursos: ")
  60.         if cursos.isdecimal() and int(cursos) != 0:
  61.             break
  62.         else:
  63.             print("Error: debe ingresar un entero positivo")
  64.     alumnos[nombre] = cursos
  65.     return alumnos
  66.  
  67.  
  68. def cantidad_de_cursos(alumnos):
  69.     nombre = input("Nombre: ")
  70.     nombres = list(alumnos.keys())
  71.     if nombre in nombres:
  72.         return f"Cantidad de cursos: {alumnos[nombre]}"
  73.     else:
  74.         return f"No existe el alumno {nombre}"
  75.    
  76.    
  77.    
  78.  
  79. ###########################################################
  80.  
  81. while True:
  82.    
  83.     print(menu())
  84.  
  85.     opcion = input("Seleccione una opción: ")
  86.    
  87.     if opcion == "1":
  88.         imprimir(alumnos)
  89.                    
  90.                
  91.     elif opcion == "2":
  92.         alumnos = ingresar(alumnos)
  93.         print("¡El alumno fue añadido a la lista!")
  94.        
  95.    
  96.     elif opcion == "3":
  97.         print(cantidad_de_cursos(alumnos))
  98.            
  99.    
  100.        
  101.     elif opcion == "4":
  102.         print("Gracias por usar este programa ...")
  103.         break
  104.        
  105.     else:
  106.         print("Opción incorrecta")
  107.  
Advertisement
Add Comment
Please, Sign In to add comment