InicioEjerciciosCursos y calificaciones, promedio, máximo y mínimo.

Cursos y calificaciones, promedio, máximo y mínimo.

Publicado:

Inauguramos la serie de «Ejercicios de Programación«, donde expondremos algunos problemas de libros o cursos de programación, con la finalidad de que se vayan familiarizando con la lógica usada para resolver problemas comunes. Si pueden optimizar o encontraron una mejor implementación, compartanla en nuestra página de Facebook, para que todos nos retroalimentemos.

Libro: Intro to Python® for Computer Science and Data Science
Autor: Paul Deitel / Harvey Deitel

Problema original:

2.10 (Arithmetic, Highest and Lowest) Write a script that inputs the grades (in integers) of 3 courses from the user. First display the average grade of the three courses, and then the names and the grades of the courses with the highest and the lowest grades.

Necesitamos un programa que lea las calificaciones (en número entero) de 3 cursos del usuario. Debemos mostrar el promedio de los tres cursos y después los nombre y calificaciones de los cursos con la calificación máxima y mínima.

SOLUCIÓN:

# Creamos una lista vacia para los cursos y sus calificaciones
CyC = []
#Leemos las respuestas del usuario, 3 en este caso
CyC.append( [input('Nombre del curso: '),int(input('Calificación del curso: '))] )
CyC.append( [input('Nombre del curso: '),int(input('Calificación del curso: '))] )
CyC.append( [input('Nombre del curso: '),int(input('Calificación del curso: '))] )
# Inicializamos la variable suma para calcular la suma de todas las calificaciones
suma = 0
# Recorremos los valores de la lista, 'x' es el nombre del curso, 'y' la calificación
for x,y in CyC:
    # Sumamos la calificación a la variable suma
    suma = suma + y
# Ahora calculamos el promedio, dividiendo el total entre el número de elementos de la lista
promedio = suma/len(CyC)
# Imprimimos el valor del promedio
print('El promedio de las calificaciones es: ',promedio)
""" 
Determinamos los valores máximo y mínimo dentro de los valores de la lista
usamos lambda para que solo tome el campo de la calificación, como nuestra lista tiene dos campos:
['nombre del curso', 'calificacion'] 
y teniendo en cuenta que el indice de la lista comienza en 0, indicamos a lamda
que use el indice 1.
"""
maximo = (max(CyC, key = lambda t:t[1]))
minimo = (min(CyC, key = lambda t:t[1]))
# imprimimos el resultado
print('El curso',maximo[0], 'tiene la mayor calificacion que es: ',maximo[1])
print('El curso',minimo[0], 'tiene la menor calificacion que es: ',minimo[1])

Y al ejecutarlo vemos que satisface los requerimientos del problema:

Nombre del curso: Fisica
Calificación del curso: 90
Nombre del curso: Filosofia
Calificación del curso: 80
Nombre del curso: Programación
Calificación del curso: 100
El promedio de las calificaciones es:  90.0
El curso Programación tiene la mayor calificacion que es:  100
El curso Filosofia tiene la menor calificacion que es:  80

Obviamente se puede mejorar, por ejemplo, se puede hacer que primero pregunte el número (n) de materias que va a ingresar y después en un ciclo agregue los valores a la lista n veces.

Contenido Reciente

¿Qué es el ESP32? Historia, filosofía y por qué se volvió tan popular

Después de entender qué es el Internet de las Cosas y de aclarar la...

Microcontroladores vs microprocesadores: la base para entender el ESP32

Introducción Cuando alguien se acerca por primera vez al mundo del IoT o de la...

¿Qué es el Internet de las Cosas (IoT) y por qué importa hoy?

Introducción El concepto de Internet de las Cosas (IoT) aparece constantemente cuando se habla de...

Descubre los Mejores Lenguajes de Programación para Principiantes

Introducción: El mundo de la programación ha evolucionado enormemente en los últimos años, y cada...

Más de esto

Juego de Multiplicar en Python

Vamos a elaborar un script que sea un juego de multiplicar en python, que puede servir para que los niños jueguen y repasen a la vez las tablas de multiplicar.

Sucesión de Fibonacci en Python

Calcularemos la sucesión de Fibonacci en python. Esta es una secuencia de números donde cada número es la suma de los dos anteriores. Es muy interesante a nivel matemático ya que aparece en muchos elementos de la naturaleza.

Calcular Pi con Python

Continuando con los ejercicios de programación, hoy veremos uno muy interesante, donde vamos a...

Asignar función a botón en GUI con Python y Qt Designer

Veremos como asignar función a botón en python, de una interfaz gráfica creada en Qt Designer.

Interfaz gráfica en Python

Como diseñar una interfaz gráfica en Python, usando QT designer. Todo mediante un IDE y no por código como Tkinter