# -*- coding: utf-8 -*-
def entrarNombre():
""" funcion para añadir un nombre """
while True:
nombre = input("Ingrese el nombre del estudiante a añadir: ")
if nombre=="":
print("el nombre no puede estar vacio")
else:
return nombre
def entrarNota():
""" funcion para añadir una nota """
while True:
try:
nota = float(input("Ingrese la nota del estudiante (0-10):"))
if 0<=nota<=10:
return nota
else:
print("la nota tiene que estar entre 0 y 10")
except:
print("la nota tiene que ser un valor numerico")
def agregarEstudiante():
nombre=entrarNombre()
if nombre in estudiantes:
print("Este estudiante ya existe")
return False
estudiantes[nombre]=entrarNota()
return True
def devolverEstudiante():
nombre=entrarNombre()
if nombre in estudiantes:
print("La nota del estudiante '{}' es {}".format(nombre, estudiantes[nombre]))
return True
else:
print("No se encuentra el estudiante")
return False
def modificarNota():
nombre=entrarNombre()
if nombre in estudiantes:
estudiantes[nombre]=entrarNota()
print("Se ha actualizado la nota al estudiante '{}'".format(nombre))
return True
else:
print("No se ha encontrado el estudiante '{}'".format(nombre))
return False
def listarEstudiantesNombre():
keys=sorted([i[0] for i in estudiantes.items()])
print("\n".join(i+" - "+str(estudiantes[i]) for i in keys))
def listarEstudiantesNota():
""" lista los estudiantes ordenados por su nota descendente """
keys=[i[0] for i in sorted(estudiantes.items(), key=lambda x: x[1], reverse=True)]
print("\n".join(i+" - "+str(estudiantes[i]) for i in keys))
def notaMedia():
""" funcion para mostrar la nota media de los estudiantes """
if len(estudiantes)==0:
print("No hay estudiantes")
return
media=sum([i[1] for i in estudiantes.items()])/len(estudiantes)
print("La nota media de todos los estudiantes es '{}'".format(media))
def borrarEstudiante():
""" funcion para borrar un estudiante """
nombre=entrarNombre()
if nombre in estudiantes:
print("Se ha eliminado el estudiante '{}' con nota {}".format(nombre, estudiantes[nombre]))
del estudiantes[nombre]
return True
else:
print("No se ha encontrado el estudiante '{}'".format(nombre))
return False
def Menú():
print("---------------------------------------------------------------")
print ("Selecciona una opción...")
print ("\t1 - Añadir estudiante")
print ("\t2 - Buscar estudiante")
print ("\t3 - Modificar nota")
print ("\t4 - Listado de los estudiantes ordenador por el nombre")
print ("\t5 - Listado de los estudiantes ordenador por su nota")
print ("\t6 - Mostrar la media de las notas")
print ("\t7 - Borrar un estudiante")
print ("\n\t0 - Salir")
# definimos el diccionario que contendra los estudiantes con sus notas
estudiantes={}
while True:
Menú ()
try:
opcion = int(input("Ingrese el número de la opción escogida: "))
except:
opcion=-1
if opcion == 1:
agregarEstudiante()
elif opcion == 2:
devolverEstudiante()
elif opcion == 3:
modificarNota()
elif opcion == 4:
listarEstudiantesNombre()
elif opcion == 5:
listarEstudiantesNota()
elif opcion == 6:
notaMedia()
elif opcion == 7:
borrarEstudiante()
elif opcion == 0:
break
else:
print("La opción ingresada no es correcta, indica una opción correcta")
Comentarios sobre la versión: Versión 1 (0)
No hay comentarios