Está en la página 1de 2

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACION

PRÁCTICA AUTÓNOMA UNIDAD 4 – LISTAS


FUNDAMENTOS DE PROGRAMACIÓN

Premios de Película
IMPORTANTE: LEER DETENIDAMENTE ANTES DE COMENZAR EL TALLER

Escriba un programa en Python que calcule el puntaje de las películas contenidas en la lista de
películas del año para determinar la mejor pelicula:
films = ["logan","alien","la bella y la bestia","rapidos y furiosos", "star
wars","spiderman","piratas del caribe"]

El programa pide al usuario que ingrese sus puntos en libreto (L), música (M) y efectos
especiales (E) de cada película. Los puntos deberán estar dados por valores entre 0 y 10, lo
que permitirá realizer la conversion a estrellas posteriormente. El programa que usted diseñe
calcula los puntos de la película (PP) a través de la siguiente fórmula:
PP = 0.5*L + 0.3*M + 0.2*E
El programa muestra por pantalla los puntos por película (PP), el promedio y el nombre de
la película con mayor puntaje de estrellas. En este caso una estrella corresponde a 2 puntos
y una película podría tener un máximo de 5 estrellas.

Solución
Paso 1.
Como tenemos que registrar datos de cada película crearemos la lista puntos para
almacenarlos, y las llevaremos en paralelo. Es decir, toda la información de la película
“logan”, en índice 0 de la lista, tendrá sus datos en el mismo índice 0, dentro de la nueva
lista.

pts=[] #lista para guardar los puntos calculados por pelicula

Paso 2.
Para pedir al usuario que ingrese los datos usaremos la función input. Esto se hará tantas
veces como películas tenga en la lista (es decir, el tamaño de la lista). Cada vez que pida los
datos, se debe especificar el nombre de la película, por lo que iteraremos sobre la lista de
sus nombres.

for i in range (0,tamanio):


l=int(input("Puntos por libreto de "+ films[i]+ ": "))
m=int(input("Puntos por musica de "+ films[i]+": "))
e=int(input("Puntos por efectos especiales de "+ films[i]+": "))

Nota: Usted deberá agregar el código necesario para validar los puntajes ingresados por el
usuario de tal forma que éstos se encuentren entre 0 y 10.
Paso 3.
Con los datos ingresados, podemos calcular los PP, y almacenarlos a ellos dentro de la lista
pts. Nótese que las siguientes líneas son una continuación del bloque del código anterior
(recuerde indentar).
puntos= 0.5*l + 0.3*m + 0.2*e
pts.append(puntos) #agrega los puntos calculados a la lista pts.

Paso 4.
Ahora que ya se tienen todos los datos de cada película, procederemos a calcular el
promedio de pts, que no es más que la suma de todos los elementos de la lista dividida para
el número de elementos. Así:

sumapts = sum(pts)
promedio = sumapts/tamanio #calcula el promedio

Paso 5.
Obtendremos la película con mayor puntaje encontrando el mayor valor de la lista pts. Con
su índice, se podrá obtener el nombre de la película correspondiente.

mejor = max(pts) #retorna el mayor valor de la lista de pts


idxMejor = pts.index(mejor) #retorna el índice de la mejor película
nombrePelicula = films[idxMejor]

Paso 6.
Para mostrar el puntaje de la mejor película expresada en número de estrellas, se realiza la
siguiente conversión:

stars = mejor/2

Paso 7.
El último paso es mostrar por pantalla un mensaje con lo solicitado.

print("El premio a la major pelicula es para " + nombrePelicula + " con


"+"%.1f" %(stars) + " estrellas.")

También podría gustarte