0% encontró este documento útil (0 votos)
2 vistas5 páginas

Entregable 2

El documento describe un laboratorio para crear un sistema de gestión de notas en Python, donde los estudiantes pueden ingresar, modificar y visualizar notas a través de un menú interactivo. Se implementan estructuras de control y manejo de errores para asegurar una experiencia de usuario fluida. El entregable final incluye un código funcional que integra estas funcionalidades y demuestra las habilidades técnicas del estudiante.

Cargado por

angielperez0309
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas5 páginas

Entregable 2

El documento describe un laboratorio para crear un sistema de gestión de notas en Python, donde los estudiantes pueden ingresar, modificar y visualizar notas a través de un menú interactivo. Se implementan estructuras de control y manejo de errores para asegurar una experiencia de usuario fluida. El entregable final incluye un código funcional que integra estas funcionalidades y demuestra las habilidades técnicas del estudiante.

Cargado por

angielperez0309
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

GESTIÓN DE UN SISTEMA DE NOTAS CON PYTHON

PRESENTADO POR:

ANGIE LORENA PEREZ FLORIAN

TALENTO TECH

UNIVERSIDAD POPULAR DEL CESAR

INGENIERIAS Y TECNOLOGICAS

INGENIERIA DE SISTEMAS

VALLEDUPAR-CESAR

2025
Título del Laboratorio: Gestión de un Sistema de Notas con Python

Introducción

En este laboratorio, los estudiantes crearán un sistema de gestión de notas utilizando


Python, donde podrán ingresar, modificar y visualizar las notas de estudiantes. El sistema
tendrá un menú interactivo que permitirá al usuario seleccionar diversas opciones para
gestionar las notas. Se utilizarán listas para almacenar los datos, y se implementarán
estructuras de control de flujo como if-else, while, y for para permitir una interacción fluida.
Además, se incluirá el uso de try-except para manejar entradas no válidas y errores
comunes, como la introducción de datos incorrectos.

Actividades a Realizar

1. Actividad 1 - Ingresar Notas de Estudiantes:

a. El sistema debe permitir ingresar las notas de los estudiantes mediante un menú
interactivo. Utiliza un while loop para mostrar el menú hasta que el usuario decida salir.

b. Utiliza una lista vacía para almacenar las notas y los nombres de los estudiantes.

c. Usa try-except para manejar errores en las entradas (por ejemplo, si el usuario
ingresa una letra en lugar de un número).

d. Los estudiantes deben ser identificados por su nombre, y las notas deben ser
almacenadas en la lista como tuplas o diccionarios.

2. Actividad 2 - Modificar Notas de un Estudiante:

a. Permite al usuario modificar la nota de un estudiante previamente ingresado.

Usa un if-else para verificar si el estudiante existe en la lista.

b. Si el estudiante existe, el sistema debe permitir la actualización de su nota. Si no,


debe mostrar un mensaje de error.

c. Implementa un contador de intentos para limitar el número de intentos de


modificación por estudiante, asegurando que el usuario no intente modificar notas de
manera indefinida.
3. Actividad 3 - Mostrar Promedio y Notas:

a. Utiliza un bucle for para recorrer las notas de todos los estudiantes y mostrar el
nombre junto con su nota.

b. Calcula el promedio de las notas y muestra el resultado.

c. Utiliza try-except para manejar posibles divisiones por cero si no hay estudiantes
ingresados, y muestra un mensaje adecuado en ese caso.

Resultados Esperados

1. Un sistema interactivo para ingresar notas, donde los estudiantes puedan agregar
y visualizar las notas correctamente.

2. Funcionalidad de modificación de notas, con un control adecuado para verificar la


existencia del estudiante y actualizar la información.

3. Cálculo del promedio de las notas de los estudiantes, con un manejo adecuado de
errores para prevenir problemas con entradas vacías o nulas.

Entregable Final

1. El código Python completo para las tres actividades desarrolladas en Google


Colaboratory, que permita ingresar, modificar, y calcular el promedio de las notas de los
estudiantes. El código debe ser funcional, estar bien comentado y ser capaz de manejar
errores comunes con el uso de try-except. El proyecto demostrará la capacidad del
estudiante para integrar múltiples herramientas de inteligencia artificial en un solo
producto digital, destacando su creatividad y habilidades técnicas

Solución

# Laboratorio: Sistema de Gestión de Notas de Estudiantes

# Lista para almacenar los estudiantes y sus notas como diccionarios


estudiantes = []

# Diccionario para llevar el conteo de intentos de modificación


intentos_modificacion = {}

def ingresar_nota():
try:
nombre = input("Ingrese el nombre del estudiante: ").strip()
nota = float(input("Ingrese la nota del estudiante (0.0 -
5.0): "))
if 0 <= nota <= 5:
[Link]({"nombre": nombre, "nota": nota})
print(f"Nota registrada correctamente para {nombre}.")
else:
print("Error: La nota debe estar entre 0.0 y 5.0.")
except ValueError:
print("Error: Debe ingresar un valor numérico para la nota.")

def modificar_nota():
nombre = input("Ingrese el nombre del estudiante a modificar:
").strip()
encontrado = False
for estudiante in estudiantes:
if estudiante["nombre"].lower() == [Link]():
if intentos_modificacion.get(nombre, 0) >= 3:
print("Límite de intentos de modificación alcanzado
para este estudiante.")
return
try:
nueva_nota = float(input("Ingrese la nueva nota: "))
if 0 <= nueva_nota <= 5:
estudiante["nota"] = nueva_nota
intentos_modificacion[nombre] =
intentos_modificacion.get(nombre, 0) + 1
print(f"Nota actualizada para {nombre}.")
encontrado = True
break
else:
print("Error: La nota debe estar entre 0.0 y
5.0.")
return
except ValueError:
print("Error: Debe ingresar un valor numérico para la
nota.")
return
if not encontrado:
print("Estudiante no encontrado.")

def mostrar_notas_y_promedio():
if not estudiantes:
print("No hay estudiantes registrados aún.")
return
print("\nListado de Estudiantes y Notas:")
for estudiante in estudiantes:
print(f"- {estudiante['nombre']}: {estudiante['nota']}")
try:
promedio = sum(e["nota"] for e in estudiantes) /
len(estudiantes)
print(f"\nPromedio general de notas: {promedio:.2f}")
except ZeroDivisionError:
print("No se puede calcular el promedio. Lista vacía.")

def mostrar_menu():
print("\n--- MENÚ PRINCIPAL ---")
print("1. Ingresar nota de estudiante")
print("2. Modificar nota de estudiante")
print("3. Mostrar notas y promedio")
print("4. Salir")

# Bucle principal del sistema


while True:
mostrar_menu()
opcion = input("Seleccione una opción (1-4): ")
if opcion == '1':
ingresar_nota()
elif opcion == '2':
modificar_nota()
elif opcion == '3':
mostrar_notas_y_promedio()
elif opcion == '4':
print("Saliendo del sistema. ¡Hasta pronto!")
break
else:
print("Opción no válida. Por favor, ingrese un número entre 1
y 4.")

También podría gustarte