Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created November 13, 2020 21:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/7408d6eed295ca59879e2f84faf36cfb to your computer and use it in GitHub Desktop.
Save parzibyte/7408d6eed295ca59879e2f84faf36cfb to your computer and use it in GitHub Desktop.
"""
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
____________________________________
/ Si necesitas ayuda, contáctame en \
\ https://parzibyte.me /
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Creado por Parzibyte (https://parzibyte.me). Este encabezado debe mantenerse intacto,
excepto si este es un proyecto de un estudiante.
"""
nota_para_aprobar = 7
cantidad_notas = 7
respuesta = "s"
total_alumnos = 0
total_suspendidas = 0
total_aprobadas = 0
total_alumnos_todo_aprobado = 0
total_alumnos_alguna_suspendida = 0
suma_notas_medias_repetidores = 0
suma_notas_medias_no_repetidores = 0
alumno_nota_media_mas_alta = ""
nota_media_mas_alta = 0
total_repetidores = 0
total_no_repetidores = 0
while respuesta.lower() == "s":
nombre = input("Nombre: ")
edad = input("Edad: ")
repetidor = input("Repetidor: [s/n] ")
nota_maxima = 0
nota_minima = 11
suma_notas = 0
suspendidas = 0
aprobadas = 0
nota = -1
for i in range(cantidad_notas):
while nota < 0 or nota > 10:
nota = float(input("Ingrese la nota #" + str(i+1) + ": "))
suma_notas += nota
if nota > nota_maxima:
nota_maxima = nota
if nota < nota_minima:
nota_minima = nota
if nota < nota_para_aprobar:
suspendidas += 1
total_suspendidas += 1
else:
aprobadas += 1
total_aprobadas += 1
nota = -1
total_alumnos += 1
nota_media = suma_notas / cantidad_notas
if nota_media > nota_media_mas_alta:
alumno_nota_media_mas_alta = nombre
nota_media_mas_alta = nota_media
if suspendidas <= 0:
total_alumnos_todo_aprobado += 1
else:
total_alumnos_alguna_suspendida += 1
if repetidor.lower() == "s":
suma_notas_medias_repetidores += nota_media
total_repetidores += 1
else:
suma_notas_medias_no_repetidores += nota_media
total_no_repetidores += 1
print("Estadística de " + nombre)
if repetidor.lower() == "s":
print("-Repetidor: sí")
else:
print("-Repetidor: no")
print("-Nota máxima: " + str(nota_maxima))
print("-Nota mínima: " + str(nota_minima))
valor_equivalente = ""
if nota_media < 5:
valor_equivalente = "Insuficiente"
elif nota_media < 6:
valor_equivalente = "Suficiente"
elif nota_media < 7:
valor_equivalente = "Bien"
elif nota_media < 8:
valor_equivalente = "Notable"
else:
valor_equivalente = "Sobresaliente"
print("-Nota media: " + str(nota_media) + " ("+valor_equivalente+")")
print("-Cuántas suspendidas: " + str(suspendidas))
print("-Cuántas aprobadas: " + str(aprobadas))
respuesta = input("Se van a introducir más alumnos? [s/n] ")
nota_media_repetidores = 0.0
if total_repetidores > 0:
nota_media_repetidores = suma_notas_medias_repetidores / total_repetidores
nota_media_no_repetidores = 0.0
if total_no_repetidores > 0:
nota_media_no_repetidores = suma_notas_medias_no_repetidores / total_no_repetidores
print("Estadística de la clase")
print("-Cuántos alumnos: " + str(total_alumnos))
print("-Cuántas notas suspendidas: " + str(total_suspendidas))
print("-Cuántas notas aprobadas: " + str(total_aprobadas))
print("-Cuántos alumnos con todo aprobado: " + str(total_alumnos_todo_aprobado))
print("-Cuántos alumnos con alguna suspendida: " +
str(total_alumnos_alguna_suspendida))
print("-Nota media de los repetidores: " + str(nota_media_repetidores))
print("-Nota media de los no repetidores: " + str(nota_media_no_repetidores))
print("-Alumno con la nota media más alta: " +
str(alumno_nota_media_mas_alta) + " (" + str(nota_media_mas_alta) + ")")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment