• Asignatura: Informática
  • Autor: antoniogonroj
  • hace 8 años

alguien me ayuda en este codigo de python es muy urgente

Añadir estudiante y calificación")

- Mostrar lista de estudiantes con sus calificaciones")

- Calcular la media de las calificaciones")

- Calcular el número de aprobadosCalcular el número de aprobados")

- Mostrar los estudiantes con mejor calificación")

- Mostrar los estudiantes con calificación superior a la media")

- Consultar la nota de un estudiante determinado")

este el codigo q he puesto necesito revision de alguien q sepa

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 entrarCalificion():

""" funcion para añadir una calificacion """

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 devolverEstudiante():

nombre=entrarNombre()

for el in estudiantes:

if el[0] == nombre:

print("La nota del estudiante '{}' es {}".format(nombre, el[1]))

return True

print("No se encuentra el estudiante")

return False



def Calcular la media de las calificaciones():

nombre=entrarNombre()

indice=buscarEstudiante(nombre)

if indice==-1:

print("No se ha encontrado el estudiante '{}'".format(nombre))

return False


# al no poder modificar un elemento de una tupla, lo convertimos

# temporamente en una lista.

tmp=list(estudiantes[indice])

tmp[1]=entrarNota()

estudiantes[indice]=tuple(tmp)

print("Se ha actualizado la nota al estudiante '{}'".format(nombre))

return True



def listarEstudiantesNombre():

estudiantes.sort()

print("\n".join(i[0]+" - "+str(i[1]) for i in estudiantes))



def listarEstudiantesNota():

""" lista los estudiantes ordenados por su nota descendente """

estudiantes.sort(key=lambda x: x[1], reverse=True)

print("\n".join(i[0]+" - "+str(i[1]) for i in estudiantes))



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])/len(estudiantes)

print("La nota media de todos los estudiantes es '{}'".format(media))



def borrarEstudiante():

""" funcion para borrar un estudiante """

nombre=entrarNombre()

indice=buscarEstudiante(nombre)

if indice==-1:

print("No se ha encontrado el estudiante '{}'".format(nombre))

return False


print("Se ha eliminado el estudiante '{}' con nota {}".format(nombre, estudiantes[indice][1]))

del estudiantes[indice]

return True



def buscarEstudiante(nombre):

"""

Funcion que devuelve el indice de un estudiante en la lista

Devuelve -1 si no ha encontrado el estudiante

"""

for i,e in enumerate(estudiantes):

if e[0]==nombre:

return i

return -1



def Menú():

print("---------------------------------------------------------------")

print ("Selecciona una opción...")

print ("\t1 - Añadir estudiante y calificación")

print ("\t2 - Mostrar lista de estudiantes con sus calificaciones")

print ("\t3 - Calcular la media de las calificaciones")

print ("\t4 - Calcular el número de aprobadosCalcular el número de aprobados")

print ("\t5 - Mostrar los estudiantes con mejor calificación")

print ("\t6 - Mostrar los estudiantes con calificación superior a la media")

print ("\t7 - Consultar la nota de un estudiante determinado")

print ("\n\t0 - Salir")


# definimos la lista que contendra una lista con cada estudiante

estudiantes=[]


while True:

Menú ()


try:

opcion = int(input("Ingrese el número de la opción escogida: "))

except:

opcion=-1


if opcion == 1:

estudiantes.append((entrarNombre(), entrarCalificion()))

elif opcion == 2:

devolverEstudiante()

elif opcion == 3:

Calcular la media de las calificaciones()

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ó

Respuestas

Respuesta dada por: danieldpinedab
0

Respuesta:

hotomnpy

Explicación:


antoniogonroj: hotompy q significa
Respuesta dada por: megatokay
0

A continuación código Python de programa para registrar calificaciones de estudiantes en una lista.

# Función agregar estudiantes

def addestudiantecalif(estudiantes,n):

_nota = float()

continuar = str()

continuar = "s"

_nota = 0

while True:

 n = n+1

 print("Ingrese el nombre del estudiante a añadir: ", end="")

 estudiantes[n-1][0] = input()

 print("Ingrese las notas del estudiante (0-10): ", end="")

 while True:

  _nota = float(input())

  if _nota<0 or _nota>10:

   print("la nota tiene que estar entre 0 y 10")

  if _nota>=0 and _nota<=10: break

 estudiantes[n-1][1] = str(_nota)

 while True:

  print("Continuar con otro estudiante?: (s/n)")

  continuar = input()

  continuar = str . lower(continuar)

  if (continuar=="s" or continuar=="n"): break

 print(" ")

 if continuar=="n":

      return (estudiantes,n)

 if continuar=="n" : break

 

  # Función listar estudiantes

def listarestudiantesnombre(estudiantes,n):

x = int()

nombre = str()

nota = str()

x = 0

nombre = " "

nota = " "

print("Nombre de estudiante     nota")

for x in range(1,n+1):

 nombre = estudiantes[x-1][0]

 nota = estudiantes[x-1][1]

 print(nombre,"                       ",nota)

# Función calcular media de las calificaciones

def mediadecalificaciones(estudiantes, n):

x = int()

media = float()

media = 0

for x in range(1,n+1):

 media = media+float(estudiantes[x-1][1])

media = media/n

print("La media de calificaciones es: ",media)

# Función contar estudiantes aprobados

def aprobados(estudiantes, n):

x = int()

_aprobados = int()

_aprobados = 0

for x in range(1,n+1):

 if float(estudiantes[x-1][1])>=5:

  _aprobados = _aprobados+1

print("Nota mínima aprobatoria es 5")

print("Cantidad de estudiantes aprobados: ",_aprobados)

 # Función mostrar mejores estudiantes

def mejorcalificacion(estudiantes, n):

x = int()

z = int()

nombre = str()

_mayor = float()

_mayor = 0

for x in range(1,n+1):

 _nota = float(estudiantes[x-1][1])

 for z in range(x,n+1):

  if _nota>_mayor:

   _mayor = _nota

   nombre = estudiantes[x-1][0]

   estudiantes[x-1][0] = estudiantes[z-1][0]

   estudiantes[x-1][1] = estudiantes[z-1][1]

   estudiantes[z-1][0] = nombre

   estudiantes[z-1][1] = str(_nota)

print("Mejores estudiantes")

_nota = float(estudiantes[0][1])

print("Nombre  nota")

for x in range(1,n+1):

 if _nota==float(estudiantes[x-1][1]):

  nombre = estudiantes[x-1][0]

  print(nombre,"         ",_nota)

 

# Función mostrar estudiantes con nota mayor a la media

def superioralamedia(estudiantes, n):

x = int()

nombre = str()

media = float()

_nota = float()

media = 0

_nota = 0

for x in range(1,n+1):

 media = media+float(estudiantes[x-1][1])

media = media/n

# Imprimir resultados

print("Estudiantes con nota mayor a ",media," (media)")

print("Nombre  nota")

for x in range(1,n+1):

 _nota = float(estudiantes[x-1][1])

 if _nota>media:

  nombre = estudiantes[x-1][0]

  print(nombre,"        ",_nota)

# Función buscar y mostrar un estudiantes determinado

def devolverestudiante(estudiantes, n):

hay = int()

x = int()

nombre = str()

nota = str()

hay = 0

print("Ingrese el nombre del estudiante: ", end="")

nombre = input()

nombre = str . lower(nombre)

for x in range(1,n+1):

 if nombre==estudiantes[x-1][0]:

  hay = 1

  nota = estudiantes[x-1][1]

  print("La nota del estudiante es:",nota)

if hay==0:

 print("No se encuentra el estudiante ")

 

  # Función principal

if __name__ == '__main__':

t = int()

p = int()

n = int()

opcion = int()

estudiantes = str()

t = 100  # número tope de estudiantes

p = 2   # datos de los estudiantes (nombre, y nota)

opcion = 0

estudiantes = [[str() for ind0 in range(p)] for ind1 in range(t)]

while True:

 print("---------------------------------------------------------------")

 print("Selecciona una opción...")

 print("\t1 - Añadir estudiante y calificación")

 print ("\t2 - Mostrar lista de estudiantes con sus calificaciones")

 print ("\t3 - Calcular la media de las calificaciones")

 print ("\t4 - Calcular el numero de aprobados")

 print ("\t5 - Mostrar los estudiantes con mejor calificación")

 print ("\t6 - Mostrar los estudiantes con calificación superior a la media")

 print ("\t7 - Consultar la nota de un estudiante determinado")

 print ("\n\t0 - Salir")

 opcion = int(input("Ingrese el numero de la opción escogida:"))

 if opcion==1:

  estudiantes,n = addestudiantecalif(estudiantes,n)

 elif opcion==2:

     listarestudiantesnombre(estudiantes,n)

 elif opcion==3:

     mediadecalificaciones(estudiantes,n)

 elif opcion==4:

  aprobados(estudiantes,n)

 elif opcion==5:

  mejorcalificacion(estudiantes,n)

 elif opcion==6:

  superioralamedia(estudiantes,n)

 elif opcion==7:

  devolverestudiante(estudiantes,n)

 if opcion==0: break

Para saber más acerca del programa en Python de funciones y arreglos consulte: https://brainly.lat/tarea/50402681 y https://brainly.lat/tarea/62544879

#SPJ2

Adjuntos:
Preguntas similares