0 votos

En una empresa de la ciudad que ofrece paquetes de televisión internacional, se requiere conocer el total de ingresos y el promedio de ingresos por cada uno de sus dos tipos de televisión Streaming que tienen: 1. Amazon Prime y 2. Netflix. Se deben procesar N cantidad de facturas con la siguiente información:
• Abonado (A que tipo de paquete pertenece).
• Valor a pagar.
Obtener el total de ingresos y el promedio de ingresos redondeado a un dígito por cada paquete de televisión internacional que los clientes han contratado con la empresa de paquetes internacionales.
Escriba una función que reciba como parámetros: una lista de diccionarios que contenga la siguiente información:
• abonado: “amazon_prime” o “netflix”
• valor_a_pagar: int
Retorne un diccionario con la siguiente estructura:
• {total: int, promedio_amazonprime: float, promedio_netflix: float}

Ya tengo el return pero no logro hacer funcionar los contadores, agradezco mucho si alguien me puede ayudar.


def calcular_ingresos(datos:list) -> dict:
    amazon = 0
    net = 0
    
    total_amazon = 0
    total_netflix = 0
    total_ingreso = total_amazon + total_netflix
    
    promedio_amazon = total_amazon / 4
    promedio_netflix = total_netflix / 3

    for item in datos:
        if item["abonado"] == "amazon_prime":
            total_amazon += item["valor_a_pagar"]
            amazon += 1
        elif item["abonado"] == "netflix":
            total_netflix += item["valor_a_pagar"]
            net += 1

    resultado = {
        "total": total_ingreso,
        "promedio_amazonprime": float(promedio_amazon),
        "promedio_netflix": float(promedio_netflix),
        }

    return resultado


clientes = [
    {
    "abonado": "amazon_prime",
    "valor_a_pagar": 30000
    },
    {
    "abonado": "netflix",
    "valor_a_pagar": 35000
    },
    {
    "abonado": "amazon_prime",
    "valor_a_pagar": 22000
    },
    {
    "abonado": "amazon_prime",
    "valor_a_pagar": 28000
    },
    {
    "abonado": "netflix",
    "valor_a_pagar": 35000
    },
    {
    "abonado": "amazon_prime",
    "valor_a_pagar": 23000
    },
    {
    "abonado": "netflix",
    "valor_a_pagar": 18000
    }
]


print(calcular_ingresos(clientes))

 

por en Python

1 Respuesta

0 votos

El cálculo del promedio

    promedio_amazon = total_amazon / 4
    promedio_netflix = total_netflix / 3

Lo tienes puesto antes de obtener los datos de los contadores en el for, por lo que siempre tienen cero en el return.

por