{"id":7267,"date":"2018-11-30T07:22:13","date_gmt":"2018-11-30T12:22:13","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7267"},"modified":"2026-04-05T17:33:34","modified_gmt":"2026-04-05T22:33:34","slug":"s1eva2018tii_t2-juego-conocimiento-ahorcado","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-s1eva20\/s1eva2018tii_t2-juego-conocimiento-ahorcado\/","title":{"rendered":"s1Eva2018TII_T2 Juego conocimiento (Ahorcado)"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-1eva20\/1eva2018tii_t2-juego-conocimiento-ahorcado\/\" data-type=\"post\" data-id=\"7259\">1Eva2018TII_T2 Juego conocimiento (Ahorcado)<\/a><\/p>\n\n\n\n<p>Propuesta de soluci\u00f3n al ejercicio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Estado del juego:  F***\n adivine una letra: C\n Adivinaste...C\n\nEstado del juego:  FC**\nturno: 1\nfallas:  0\n adivine una letra: M\n Adivinaste...M\n\nEstado del juego:  FC*M\nturno: 2\nfallas:  0\n adivine una letra: A\n NO es una letra de palabra...\n\nEstado del juego:  FC*M\nturno: 3\nfallas:  1\n adivine una letra: N\n Adivinaste...N\n\nEstado del juego:  FCNM\nturno: 4\nfallas:  1\nFelicitaciones, adivin\u00f3: FCNM\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n\n<p>Siguiendo las sugerencias, para dividir y simplificar el problema, primero se crean las funciones: <code>escondeletras(secreta)<\/code> y <code>cambialetra(secreta,letra,estado)<\/code>.<\/p>\n\n\n\n<p>Se inicia con la selecci\u00f3n aleatoria de la palabra secreta y el sorteo de la letra <code>pista<\/code>, verificando que sea consonante.<\/p>\n\n\n\n<p>Se actualiza la palabra <code>secreta<\/code> con la letra <code>pista<\/code>, y se inicia el juego.<\/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# 1Eva_IIT2018_T2 Juego conocimiento (Ahorcado)\n# propuesta de soluci\u00f3n: edelros@espol.edu.ec\n# tarea: indiferente usar may\u00fasculas\/min\u00fasculas\n#        contar solo letras adivinadas, no repetidas\n\nimport numpy as np\nimport random as rnd\n\ndef escondeletras(secreta):\n    estado = ''\n    n = len(secreta)\n    i = 0\n    while not(i&gt;=n):\n        estado = estado + '*'\n        i = i + 1 \n    return(estado)\n\ndef cambialetra(secreta,letra,estado):\n    nuevoestado = ''\n    n = len(secreta)\n    i = 0\n    while not(i&gt;=n):\n        if (secreta&#x5B;i]==letra):\n            nuevoestado = nuevoestado + letra\n        else:\n            nuevoestado = nuevoestado + estado&#x5B;i]\n        i = i + 1\n    return(nuevoestado)\n\n# PROGRAMA JUEGO\n# selecciona secreta\npalabras = &#x5B;'ESPOL','FCNM','FIEC','FIMCP','FICT']\nn = len(palabras)\nsorteo  = int(rnd.random()*n)+0\nsecreta = palabras&#x5B;sorteo]\n\n# estado inicial del juego\nestado = escondeletras(secreta)\n\n# una letra como pista\nconsonante = 'BCDFGHJKLMNPQRSTVWXYZ'\nm = len(secreta)\nsorteo = int(rnd.random()*m)+0\npista = secreta&#x5B;sorteo]\nwhile not(pista in consonante):\n    sorteo = int(rnd.random()*m)+0\n    pista  = secreta&#x5B;sorteo]\n    \n# actualiza estado del juego\nestado = cambialetra(secreta,pista,estado)\n\n# Control del Juego\nturnomax = 2*m\ngana  = 1\nfalla = 0\nprint('Estado del juego: ', estado)\n\nturno = 1\nwhile not(turno&gt;turnomax or gana==m):\n    letra = input(' adivine una letra: ')\n    if (letra in secreta):\n        gana    =  gana +1\n        estado  = cambialetra(secreta,letra, estado)\n        mensaje = ' Adivinaste...' + letra\n    else:\n        falla   = falla + 1\n        mensaje = ' NO es una letra de palabra...'\n    \n    print(mensaje)\n    print()\n    print('Estado del juego: ', estado)\n    print('turno:', turno)\n    print('fallas: ', falla)\n    turno = turno + 1\n\nif (turno&lt;=turnomax and gana==m):\n    mensaje = 'Felicitaciones, adivin\u00f3: ' + secreta\nelse:\n    mensaje = 'lo lamento, perdi\u00f3..., la palabra era: '\n    mensaje = mensaje + secreta\n\n# SALIDA\nprint(mensaje)\n<\/pre><\/div>\n\n\n<p>Recuerde que se ha dejado como tarea, realizar las instrucciones para cumplir que:<\/p>\n\n\n\n<p>- sea indiferente usar may\u00fasculas\/min\u00fasculas<br>- contar solo letras adivinadas, no repetidas<\/p>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-evalua\/fp-2e05\/2eva2005ti_t3-adivina-palabra-ahorcado\/\" data-type=\"post\" data-id=\"2889\">2Eva2005TI_T3 Adivina palabra (ahorcado)<\/a><\/p>\n\n\n\n<p>Soluci\u00f3n propuesta: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-ejemplos\/fp-s2e10\/s2eva2005ti_t3-adivina-palabra-ahorcado\/\" data-type=\"post\" data-id=\"5688\">s2Eva2005TI_T3 Adivina palabra (ahorcado)<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Manejo de Texto como Cadenas de caracteres en Python. Ejercicio: Adivina palabra, Ahorcado\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/gWarFana9a4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 1Eva2018TII_T2 Juego conocimiento (Ahorcado) Propuesta de soluci\u00f3n al ejercicio. Algoritmo en Python Siguiendo las sugerencias, para dividir y simplificar el problema, primero se crean las funciones: escondeletras(secreta) y cambialetra(secreta,letra,estado). Se inicia con la selecci\u00f3n aleatoria de la palabra secreta y el sorteo de la letra pista, verificando que sea consonante. Se actualiza la palabra [&hellip;]<\/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":[130],"tags":[58,157],"class_list":["post-7267","post","type-post","status-publish","format-standard","hentry","category-fp-s1eva20","tag-ejemplos-python","tag-fundamentos-programacion"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7267","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=7267"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7267\/revisions"}],"predecessor-version":[{"id":23599,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7267\/revisions\/23599"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}