{"id":7634,"date":"2019-02-16T07:27:31","date_gmt":"2019-02-16T12:27:31","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7634"},"modified":"2026-04-05T18:32:20","modified_gmt":"2026-04-05T23:32:20","slug":"s3eva2018tii_t2-jugadores-sudamericano-sub-20","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s3eva20\/s3eva2018tii_t2-jugadores-sudamericano-sub-20\/","title":{"rendered":"s3Eva2018TII_T2 Jugadores Sudamericano Sub-20"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-3eva20\/3eva2018tii_t2-jugadores-sudamericano-sub-20\/\" data-type=\"post\" data-id=\"7631\">3Eva2018TII_T2 Jugadores Sudamericano Sub-20<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n en <strong>Python<\/strong>, se usa un archivo de prueba: <a href=\"https:\/\/drive.google.com\/open?id=1WUVocmzsXX2eyoMYal6F-w6SE1hMOkgn\">br-ur.csv<\/a><\/p>\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_IIT2018_T2 Jugadores Sudamericano Sub-20\n\ndef actualizaDiccionario(nomArchivo,dic):\n    paises  = list(dic.keys())\n    archivo = open(nomArchivo,'r')\n    encabezado = archivo.readline()\n    linea   = archivo.readline()\n    while not(linea==''):\n        linea   = linea.strip('\\n')\n        partes  = linea.split(',')\n        pais    = partes&#x5B;0]\n        jugador = partes&#x5B;1]\n        if not(pais in paises):\n            dic&#x5B;pais]={jugador:{'TA':int(partes&#x5B;2]),\n                                'TR':int(partes&#x5B;3]),\n                                'Goles':int(partes&#x5B;4]),\n                                'Minutos':int(partes&#x5B;5]),\n                                'KM':float(partes&#x5B;6])\n                                  }\n                       }\n        else:\n            jugadores = list(dic&#x5B;pais].keys())\n            if not(jugador in jugadores):\n                dic&#x5B;pais]&#x5B;jugador] = {'TA':int(partes&#x5B;2]),\n                                      'TR':int(partes&#x5B;3]),\n                                      'Goles':int(partes&#x5B;4]),\n                                      'Minutos':int(partes&#x5B;5]),\n                                      'KM':float(partes&#x5B;6])\n                                      }\n            else:\n                dic&#x5B;pais]&#x5B;jugador]&#x5B;'TA']    = dic&#x5B;pais]&#x5B;jugador]&#x5B;'TA'] + int(partes&#x5B;2])\n                dic&#x5B;pais]&#x5B;jugador]&#x5B;'TR']    = dic&#x5B;pais]&#x5B;jugador]&#x5B;'TR'] + int(partes&#x5B;3])\n                dic&#x5B;pais]&#x5B;jugador]&#x5B;'Goles'] = dic&#x5B;pais]&#x5B;jugador]&#x5B;'Goles'] + int(partes&#x5B;4])\n                dic&#x5B;pais]&#x5B;jugador]&#x5B;'Minutos'] = dic&#x5B;pais]&#x5B;jugador]&#x5B;'Minutos'] + int(partes&#x5B;5]),\n                dic&#x5B;pais]&#x5B;jugador]&#x5B;'KM']    = dic&#x5B;pais]&#x5B;jugador]&#x5B;'KM'] + float(partes&#x5B;5])\n        linea = archivo.readline()\n    archivo.close()\n    return(dic)\n\ndef buenDeportista(jugador,dic):\n    cumple = 0\n    paises = list(dic.keys())\n    for pais in paises:\n        jugadores = list(dic&#x5B;pais].keys())\n        if jugador in jugadores:\n            tarjetas = dic&#x5B;pais]&#x5B;jugador]&#x5B;'TA'] + dic&#x5B;pais]&#x5B;jugador]&#x5B;'TR']\n            transcurrido = dic&#x5B;pais]&#x5B;jugador]&#x5B;'Minutos']\n            registro = tarjetas\/transcurrido\n            if registro&lt;(2\/270):\n                cumple=1\n    return(cumple)\n\ndef jugadorAtleta(jugador,dic):\n    cumple = 0\n    paises = list(dic.keys())\n    for pais in paises:\n        jugadores = list(dic&#x5B;pais].keys())\n        total = 0\n        for jugador in jugadores:\n            total = total + dic&#x5B;pais]&#x5B;jugador]&#x5B;'KM']\n        promedio = total\/len(jugadores)\n        if jugador in jugadores:\n            if dic&#x5B;pais]&#x5B;jugador]&#x5B;'KM']&gt;=promedio and dic&#x5B;pais]&#x5B;jugador]&#x5B;'Goles']&gt;=1:\n                cumple = 1\n    return(cumple)\n\ndef paisBuenasPraticas(pais,dic):\n    cumple = 0\n    paises = list(dic.keys())\n    if pais in paises:\n        jugadores = list(dic&#x5B;pais].keys())\n        k = len(jugadores)\n        cuenta = 0\n        for jugador in jugadores:\n            cuenta = cuenta + buenDeportista(jugador, dic)\n        if (k==cuenta):\n            cumple = 1\n    return(cumple)\n\n# PROGRAMA -----------------------\n# INGRESO\nL = &#x5B;'br-ur.csv'] #,'ec-vn.csv']\n\n# PROCEDIMIENTO\ndic = {}\nn = len(L)\ni = 0\nwhile not(i&gt;=n):\n    nomArchivo = L&#x5B;i]\n    actualizaDiccionario(nomArchivo,dic)\n    i = i + 1\n\npaises = list(dic.keys())\nresultados = &#x5B;]\njugadoresatletas = &#x5B;]\nfor pais in paises:\n    jugadores = list(dic&#x5B;pais].keys())\n    k = len(jugadores)\n    cuenta = 0\n    goles = 0\n    recorrido = 0\n    \n    for jugador in jugadores:\n        cuenta = cuenta + jugadorAtleta(jugador,dic)\n        goles = goles + dic&#x5B;pais]&#x5B;jugador]&#x5B;'Goles']\n        recorrido = recorrido + dic&#x5B;pais]&#x5B;jugador]&#x5B;'KM']\n        goleskm = goles\/recorrido\n\n        if jugadorAtleta(jugador,dic)==1:\n            jugadoresatletas.append(&#x5B;jugador,pais])\n\n    porcentaje = cuenta\/k\n    nominado = paisBuenasPraticas(pais,dic)\n    resultados.append(&#x5B;pais,porcentaje,goleskm,nominado])\n\n# SALIDA\nprint('pais,porcentaje,goleskm,nominado')\nprint(resultados)\nprint('jugadores atletas')\nprint(jugadoresatletas)\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2018TII_T2 Jugadores Sudamericano Sub-20 Propuesta de soluci\u00f3n en Python, se usa un archivo de prueba: br-ur.csv<\/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-7634","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\/7634","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=7634"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7634\/revisions"}],"predecessor-version":[{"id":23754,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7634\/revisions\/23754"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}