3ra Evaluación II Término 2016-2017, Marzo 7, 2017 /CCPG001
(Editado para tarea, se mantiene el objetivo de aprendizaje)
TEMA 1. (45 Puntos) La información de los clientes de una compañía telefónica ubicada en Guayaquil se encuentra en el archivo llamado clientes.csv.
El archivo está estructurado de la siguiente manera:
Cédula,NúmeroTeléfono,Sector,MinutosLlamadaNacional|MinutosLlamadaInternacional,Estado
Por ejemplo: clientes.csv
1278112648,04-443288,Norte,12|30,Activo
1278112648,04-383056,Sur,50|15,Activo
1302511926,04-325363,Este,90|12,Activo
1174253723,04-430419,Oeste,30|30,Cortado
2061722895,04-356539,Norte,17|40,Cortado
1729478396,04-437289,Centro,4|2,Activo
1174253723,04-324426,Norte,0|9,Cortado
1174253723,04-283497,Norte,15|27,Activo
Para procesar la información se requiere:
1. Crear una función llamada obtenerClientes(nombreArchivo) la cual recibe como parámetro el nombre del archivo con los clientes de la empresa, y devuelve un diccionario con la siguiente estructura:
{
'1174253723':
{'04-324426':{'sector':'Norte','nac':0,'estado':'Cortado','inter':9},
'04-430419':{'sector':'Oeste','nac':30,'estado':'Cortado','inter':30}
'04-283497':{'sector':'Norte','nac':15,'estado':'Activo','inter':27}},
'1302511926':
{'04-325363':{'sector':'Este','nac':90,'estado':'Activo','inter':12}},
'1278112648':
{'04-443288':{'sector':'Norte','nac':12,'estado':'Activo','inter':30},
'04-383056':{'sector':'Sur','nac':50,'estado':'Activo','inter':15}},
'1729478396':
{'04-437289'{'sector':'Centro','nac':4,'estado':'Activo','inter':2}},
'2061722895':
{'04-356539':{'sector':'Norte','nac':17,'estado':'Cortado','inter':40}}
}
2. Crear una función llamada generarFactura(dclientes) la cual recibe como parámetro el diccionario de clientes generado en el literal anterior, y genera un archivo por cada cliente, cuyo nombre es la cédula del cliente, y el contenido corresponde a los valores a pagar por cada cliente. La estructura del archivo es la siguiente:
Archivo 1278112648.txt
Empresa Telefonica de Guayaquil
Cliente :1278112648
Detalle Deuda:
04-443288 nac:0.36 inter:1.5 total:1.86
04-383056 nac:1.5 inter:0.75 total:2.25
Total a Pagar:4.11
Para calcular los valores a pagar considere las siguientes
tarifas:
Tarifa Nacional: 0.03 el minuto
Tarifa internacional:
● Menos de 60 min: 0.05 el minuto
● Entre 60 y 90 min: 0.04 el minuto
● Más de 90 min: 0.03 el minuto
3. Crear una función llamada estadisticaSector(dclientes,sector) que recibe como parámetro el diccionario de clientes generado en el literal 1 y el sector, y devuelve un diccionario con el promedio de minutos de llamadas nacionales e internacionales que han realizado los números telefónicos del sector en estado ‘Activo’.
Por ejemplo:
>>> estadisticaSector(dclientes,”Norte”)
Respuesta:
{'Nacionales': 13.50, 'Internacionales': 28.50}
Referencia: Archivo original 3raEvaIIT2016.pdf