EJERCICIO 1

Complete el código para encontrar la calificación promedio de las aplicaciones gratuitas.

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
free_apps_ratings = []
for row in apps_data[1:]:
rating = float(row[7])


Dentro del bucle for:

  • Asigne el precio de una aplicación como flotante a una variable denominada precio. El precio es el quinto elemento en cada fila (no olvide que el índice comienza en 0).
  • Si price == 0.0, agregue el valor almacenado en la calificación a la lista free_apps_ratings utilizando el comando list_name.append () (tenga en cuenta que free_apps_ratings ya está definido en el editor de código). Ten cuidado con la sangría.
  • Fuera del cuerpo del bucle for, calcule la calificación promedio de las aplicaciones gratuitas. Asigne el resultado a una variable llamada avg_rating_free. Las clasificaciones se almacenan en la lista de free_apps_ratings

RESPUESTA:

price = float(row[4])   
if price == 0.0:
free_apps_ratings.append(rating)


avg_rating_free = sum(free_apps_ratings) / len(free_apps_ratings)

Código completo

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
free_apps_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
# Complete the code from here
price = float(row[4])
if price == 0.0:
free_apps_ratings.append(rating)


avg_rating_free = sum(free_apps_ratings) / len(free_apps_ratings)

EJERCICIO 2

Ya inicializada la variable a_price con un valor de 0. 

a_price = 0

Transcriba las siguientes oraciones en código haciendo uso de las declaraciones if:

  • Si a_price es igual a 0, imprima la cadena ‘Esto es gratis’ (recuerde usar el operador == para igualdad).
  • Si a_price es igual a 1, imprima la cadena ‘Esto no está libre’

RESULTADO:

if a_price == 0:
print("This is free")
if a_price == 1:
print('This is not free')

EJERCICIO TRES

Modifique el código existente para calcular la calificación promedio de las aplicaciones no gratuitas

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
free_apps_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
price = float(row[4])
if price == 0.0:
free_apps_ratings.append(rating)

avg_rating_free = sum(free_apps_ratings) / len(free_apps_ratings)
  • Cambie el nombre de la lista vacía de free_apps_ratings a non_free_apps_ratings (la lista que definimos antes del bucle for).
  • Cambie la condición if price == 0.0 para tener en cuenta el hecho de que ahora queremos aislar solo las calificaciones de las aplicaciones no gratuitas.
  • Cambie free_apps_ratings.append (calificación) para asegurarse de que las calificaciones se agreguen a la nueva lista non_free_apps_ratings.
  • Calcule el valor promedio sumando los valores en non_free_apps_ratings y dividiéndolos por la longitud de esta lista. Asigne el resultado a avg_rating_non_free.
  • Ejercicio opcional: inspeccione el valor de avg_rating_non_free y compare el promedio con el de las aplicaciones gratuitas (la calificación promedio de las aplicaciones gratuitas es de aproximadamente 3.38; lo calculamos en la primera pantalla). ¿Podemos usar los valores promedio para decir que las aplicaciones gratuitas son mejores que las no gratuitas, o viceversa?

RESULTADO:

non_free_apps_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
price = float(row[4])
if price != 0.0:
non_free_apps_ratings.append(rating)

avg_rating_non_free = sum(non_free_apps_ratings) / len(non_free_apps_ratings)

Proceso explicado de un código

  • Inicializar una lista vacía llamada games_ratings.
  • Recorra apps_data [1:], donde apps_data es una lista de listas que almacena nuestro conjunto de datos. 

Para cada iteración:

  • Asigne la calificación como flotante a una variable denominada calificación.
  • Asigne el género a una variable llamada género. El género se guardará como una cadena.
  • Agregue el valor de calificación almacenado en la calificación a la lista games_ratings si el valor en género es igual a la cadena ‘Games’.
  • Calcule la calificación promedio de las aplicaciones de juegos y asigne el resultado a avg_rating_games.
  • Imprimir avg_rating_games.

EJERCICIO CUATRO

Siguiendo las mismas técnicas que utilizamos en el diagrama anterior, calcule la calificación promedio de las aplicaciones que no son de juegos.

  • Inicialice una lista vacía llamada non_games_ratings.
  • Recorra la lista de listas apps_data (asegúrese de no incluir la fila del encabezado). 

Para cada iteración del bucle:

  • Asigne la calificación de la aplicación como flotante a una variable denominada calificación (el número de índice de la columna de calificación es 7).
  • Asigne el género de la aplicación a una variable llamada género (número de índice 11).
  • Si el género no es igual a ‘Juegos’, agregue la calificación a la lista non_games_ratings.
  • Calcule la calificación promedio de las aplicaciones que no son de juegos y asigne el resultado a una variable llamada avg_rating_non_games
  • Ejercicio opcional: compare la calificación promedio de las aplicaciones de juegos (3.69) con la de las aplicaciones que no son de juegos. ¿Por qué crees que vemos esta diferencia?

RESPUESTA:

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
non_games_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
genre = row[11]

if genre != 'Games':
non_games_ratings.append(rating)

avg_rating_non_games = sum(non_games_ratings) / len(non_games_ratings)
print(avg_rating_non_games)

EJERCICIO CINCO 

Complete el código para calcular la calificación promedio de las aplicaciones de juegos gratuitas.

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
free_games_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
price = float(row[4])
genre = row[11]
  • Dentro del bucle for, agregue la calificación a la lista free_games_ratings si el precio es igual a 0.0 y el género es igual a ‘Juegos’.
  • Fuera del ciclo for, calcule la calificación promedio de las aplicaciones de juegos gratuitas. Asigne el resultado a una variable llamada avg_rating_free_games.

RESULTADO:

if price == 0.0 and genre == 'Games':
free_games_ratings.append(rating)

avg_rating_free_games = sum(free_games_ratings) / len(free_games_ratings)

Código completo:

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
free_games_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
price = float(row[4])
genre = row[11]
# SOLUTION CODE
free_games_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
price = float(row[4])
genre = row[11]
if price == 0.0 and genre == 'Games':
free_games_ratings.append(rating)

avg_rating_free_games = sum(free_games_ratings) / len(free_games_ratings)

EJERCICIO 6

Complete el código para calcular la calificación promedio de las aplicaciones cuyo género es “Redes sociales” o “Juegos”.

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
games_social_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
genre = row[11]
  • Dentro del loop , agregue la calificación a la lista games_social_ratings si el género es ‘Redes sociales’ o ‘Juegos’.
  • Fuera del loop , calcule la calificación promedio de las aplicaciones cuyo género es “Redes sociales” o “Juegos”, y asigne el resultado a una variable llamada avg_games_social.
if genre == 'Social Networking' or genre == 'Games':
games_social_ratings.append(rating)

avg_games_social = sum(games_social_ratings) / len(games_social_ratings)

Código completo:

opened_file = open('AppleStore.csv')
from csv import reader
read_file = reader(opened_file)
apps_data = list(read_file)
games_social_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
genre = row[11]
games_social_ratings = []
for row in apps_data[1:]:
rating = float(row[7])
genre = row[11]
if genre == 'Social Networking' or genre == 'Games':
games_social_ratings.append(rating)

avg_games_social = sum(games_social_ratings) / len(games_social_ratings)