{"id":4453,"date":"2017-03-09T05:00:52","date_gmt":"2017-03-09T10:00:52","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/icm00794\/?p=4453"},"modified":"2026-04-05T18:36:28","modified_gmt":"2026-04-05T23:36:28","slug":"s3eva2016tii_t1-facturar-llamadas-telefonicas","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva20\/s3eva2016tii_t1-facturar-llamadas-telefonicas\/","title":{"rendered":"s3Eva2016TII_T1 Facturar llamadas telef\u00f3nicas"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva20\/3eva2016tii_t1-facturar-llamadas-telefonicas\/\" data-type=\"post\" data-id=\"4285\">3Eva2016TII_T1 Facturar llamadas telef\u00f3nicas<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n en <strong>Python<\/strong>, El ejercicio tiene tarea por completar.<\/p>\n\n\n\n<p>Para las pruebas, requiere el archivo <a href=\"https:\/\/drive.google.com\/open?id=1spFGF2aAkHztcQdWSn6S10eBpzgI9nJf\">clientes01.csv<\/a> en el mismo directorio del archivo.py<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# CCPG1001-Fundamentos de Programaci\u00f3n - FIEC-ESPOL\n# 3Eva_IIT2016_T1 Facturar llamadas telef\u00f3nicas\n# se incluye la estructura de diccionarios.\n# Tarea: Completar facturaci\u00f3n y estad\u00edsticas\n\ndef obtenerClientes(nombreArchivo):\n    facturar = {}\n\n    archivo = open(nombreArchivo,'r')\n    linea   = archivo.readline()\n    while not(linea==''):\n        linea  =linea.strip('\\n')\n        partes = linea.split(',')\n        ced = partes&#x5B;0]\n        num = partes&#x5B;1]\n        sec = partes&#x5B;2]\n        parm = partes&#x5B;3].split('|')\n        nac = float(parm&#x5B;0])\n        ext = float(parm&#x5B;1])\n        est = partes&#x5B;4]\n\n        if not(ced in facturar):\n            facturar&#x5B;ced] = {num:{\n                             'sector': sec,\n                             'nacional': nac,\n                             'internac': ext,\n                             'estado': est }}\n        else: \n            facturar&#x5B;ced]&#x5B;num] = {\n                             'sector': sec,\n                             'nacional': nac,\n                             'internac': ext,\n                             'estado': est }\n        \n        linea = archivo.readline()\n    archivo.close()\n    \n    return(facturar)\n\ndef generarFactura(tabla):\n    # Lista de clientes\n    cedulas = tabla.keys()\n    cedulas = list(cedulas)\n    n = len(cedulas)\n\n    # Mostrar cada cliente\n    i = 0\n    while not(i&gt;=n):\n        # Para pantalla\n        # print(cedulas&#x5B;i])\n        \n        # Cada archivo\n        narchivo = cedulas&#x5B;i] + '.txt'\n        archivo = open(narchivo, 'w')\n        archivo.write('Empresa Telefonica de Guayaquil \\n')\n        archivo.write('cliente: ' + cedulas&#x5B;i] + '\\n')\n        archivo.write('Detalle Deuda: \\n')\n\n        tablanumeros = tabla&#x5B;cedulas&#x5B;i]]\n        # print(tablanumeros)\n        \n        numeros = tablanumeros.keys()\n        numeros = list(numeros)\n        # print(numeros)\n\n        m = len(numeros)\n        j = 0\n        while not(j&gt;=m):\n            datos = tablanumeros&#x5B;numeros&#x5B;j]]\n            nac = tablanumeros&#x5B;numeros&#x5B;j]]&#x5B;'nacional']\n            costonac = nac * 0.03\n            archivo.write(numeros&#x5B;j] + ' nac: '+str(costonac)+ '\\n')\n            j = j + 1\n        \n        archivo.close()\n        \n        i = i + 1\n    return()\n\n# PROGRAMA\n# INGRESO\nnarchivo = 'clientes.csv'\n\n# PROCEDIMIENTO\ntabla = obtenerClientes(narchivo)\n\n# SALIDA\ngenerarFactura(tabla)\n\n# -------\n# Usado para explicaci\u00f3n de uso de diccionarios\n### Lista de clientes\n##cedulas = tabla.keys()\n##cedulas = list(cedulas)\n##n = len(cedulas)\n##\n### Salida\n##print('los clientes son: ', cedulas)\n##print('los datos del cliente son:')\n##for i in range(0,n,1):\n##    print(cedulas&#x5B;i])\n##    numeroscedula = tabla&#x5B;cedulas&#x5B;i]].keys()\n##    print(numeroscedula)\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2016TII_T1 Facturar llamadas telef\u00f3nicas Propuesta de soluci\u00f3n en Python, El ejercicio tiene tarea por completar. Para las pruebas, requiere el archivo clientes01.csv en el mismo directorio del archivo.py Algoritmo en Python<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-ejemplos","format":"standard","meta":{"footnotes":""},"categories":[143],"tags":[58,157],"class_list":["post-4453","post","type-post","status-publish","format-standard","hentry","category-fp-s3eva20","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=4453"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4453\/revisions"}],"predecessor-version":[{"id":23768,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4453\/revisions\/23768"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=4453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=4453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=4453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}