Advertisement
teslariu

integrador debuggeado 2

Aug 31st, 2023
737
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.74 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. """
  5. La lista de alumnos que creamos en el módulo anterior ahora debe ser un
  6. diccionario, en donde
  7.  
  8.     las claves serán nombres de alumnos y
  9.     los valores sus respectivas cantidades de cursos.
  10.  
  11.  
  12. Para esto se debe modificar el código de las opciones 1 y 2
  13. (agregar un nuevo alumno y ver la lista de alumnos).
  14.  
  15. La tercera opción será “Ver la cantidad de cursos de un alumno”.
  16. Deberá solicitar el nombre de un alumno e imprimir en pantalla el número de
  17. cursos que tiene asociados como clave.
  18.  
  19. La cuarta opción es la de salir, como en la versión anterior.
  20.  
  21.  
  22. Usar todo lo aprendido hasta el momento, el
  23. programa no debe de frenar de forma imprevista
  24. a causa de un error. Ya que en el material de
  25. lectura se vieron todas las posibles soluciones
  26. fren
  27.  
  28. """
  29. # Pasos para encarar un programa (el orden puede variar)
  30. # a) Identificar que datos se deben registrar y como implementarlos
  31. # b) identificar las estructuras lógicas a usar
  32.  
  33. # a) nombre de un alumno, cantidad de cursos almacenados como una lista
  34. # de 2 elementos en una lista de alumnos
  35. # Ej: alumnos = [ ["Juan",3], ["Ana",2], ["Maria", 4] ]
  36.  
  37. # b) El cliente quiere un menu de opciones que se ejecuta hasta que el
  38. # usuario desee salir  --> TEMPLATE WHILE TRUE
  39.  
  40. # creo una lista vacía para guardar datos de los alumnos
  41.  
  42. # alumnos = {"Juan":3, "Ana":2, "Maria":4}  
  43. alumnos = {}
  44.  
  45. while True:
  46.                                        
  47.     print("""
  48.         Menu de opciones
  49.     --------------------------------
  50.     1 - Ver la lista de alumnos.
  51.     2 - Añadir un alumno a la lista.
  52.     3 - Salir.
  53.     --------------------------------
  54.     """)
  55.    
  56.     opcion = input("Ingrese su opción: ")
  57.    
  58.     if opcion == "1":
  59.         # Ticket nº1 fecha tope 15/09/23 --solucionado 29/08/23
  60.         # Lista de alumnos:
  61.         # Pablo - 3 cursos
  62.         # Juan - 2 cursos
  63.         # Ana - 5 cursos
  64.         if not alumnos:
  65.             print("No hay alumnos")
  66.         else:
  67.             print("Lista de alumnos")
  68.             for k,v in alumnos.items():
  69.                 print(f"{k} - {v} cursos")
  70.        
  71.        
  72.     elif opcion == "2":
  73.         while True:
  74.             nombre = input("Ingrese el nombre del alumno: ")
  75.             if nombre.isspace() or not nombre or not nombre.isalpha():
  76.                 print("Error: nombre inválido")
  77.             else:
  78.                 break
  79.                
  80.         while True:
  81.             cursos = input("Ingrese la cantidad de cursos: ")
  82.             if cursos.isnumeric() and int(cursos):
  83.                 cursos = int(cursos)
  84.                 break
  85.             else:
  86.                 print("Debe ingresar un número entero positivo")
  87.                
  88.         alumnos[nombre] = cursos
  89.         print("¡El alumno fue añadido a la lista!")
  90.        
  91.        
  92.        
  93.     elif opcion == "3":
  94.         print("¡Gracias por utilizar el programa!")
  95.         break
  96.        
  97.     else:
  98.         print("Opción incorrecta")
  99.        
  100.        
  101.  
  102. alumnos = [
  103.         {"nombre": "Juan", "cursos":3},
  104.         {"nombre": "Ana", "cursos": 2},
  105.         ]
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement