# Lista de estudiantes con sus promedios
estudiantes = [
("Ana", 85),
("Carlos", 92),
("Elena", 88),
("Jorge", 79),
("Luis", 95),
("María", 82),
]
# Función de ordenamiento por selección en orden descendente
def ordenamiento_por_seleccion(estudiantes):
# Convertimos la lista a una lista mutable
estudiantes = list(estudiantes)
# Recorremos toda la lista
for i in range(len(estudiantes)):
# Suponemos que el primer elemento es el máximo
max_idx = i
for j in range(i + 1, len(estudiantes)):
# Buscamos el índice del estudiante con el mayor promedio
if estudiantes[j][1] > estudiantes[max_idx][1]:
max_idx = j
# Intercambiamos el estudiante con el mayor promedio encontrado con el primer no ordenado
estudiantes[i], estudiantes[max_idx] = estudiantes[max_idx], estudiantes[i]
return estudiantes
# Ordenamos la lista y mostramos el resultado
estudiantes_ordenados = ordenamiento_por_seleccion(estudiantes)
for estudiante, promedio in estudiantes_ordenados:
print(f"{estudiante}: {promedio}")