CursosEmpresasBlogLiveConfPrecios

Reto final: Juego del Ahorcado o Hangman Game

Clase 20 de 21 • Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores

Clase anteriorSiguiente clase

Contenido del curso

Preparación antes de empezar

  • 1
    Algunas cosas que aprenderás sobre Python en este curso

    Algunas cosas que aprenderás sobre Python en este curso

    01:36 min
  • 2
    El Zen de Python

    El Zen de Python

    08:30 min
  • 3
    ¿Qué es la documentación?

    ¿Qué es la documentación?

    04:33 min

Entorno virtual

  • 4
    ¿Qué es un entorno virtual?

    ¿Qué es un entorno virtual?

    03:56 min
  • 5
    El primer paso profesional: creación de un entorno virtual

    El primer paso profesional: creación de un entorno virtual

    08:30 min
  • 6
    Instalación de dependencias con pip

    Instalación de dependencias con pip

    09:53 min

Alternativa a los ciclos: comprehensions

  • 7
    Listas y diccionarios anidados

    Listas y diccionarios anidados

    12:32 min
  • 8
    List comprehensions

    List comprehensions

    07:39 min
  • 9
    Dictionary comprehensions

    Dictionary comprehensions

    06:00 min

Conceptos avanzados de funciones

  • 10
    Funciones anónimas: lambda

    Funciones anónimas: lambda

    05:42 min
  • 11
    High order functions: filter, map y reduce

    High order functions: filter, map y reduce

    10:40 min
  • 12
    Proyecto: filtrando datos

    Proyecto: filtrando datos

    14:35 min

Manejo de errores

  • 13
    Los errores en el código

    Los errores en el código

    08:54 min
  • 14
    Debugging

    Debugging

    12:27 min
  • 15
    Manejo de excepciones

    Manejo de excepciones

    10:53 min
  • 16
    Poniendo a prueba el manejo de excepciones

    Poniendo a prueba el manejo de excepciones

    04:12 min
  • 17
    Assert statements

    Assert statements

    07:55 min

Manejo de archivos

  • 18
    ¿Cómo trabajar con archivos?

    ¿Cómo trabajar con archivos?

    06:52 min
  • 19
    Trabajando con archivos de texto en Python

    Trabajando con archivos de texto en Python

    12:27 min

Conclusión

  • 20
    Reto final: Juego del Ahorcado o Hangman Game

    Reto final: Juego del Ahorcado o Hangman Game

    Viendo ahora
  • 21
    Continúa tu camino profesional con Python

    Continúa tu camino profesional con Python

    02:17 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Jose Noriega

        Jose Noriega

        student•
        hace 5 años

        Hangman

        Les comparto mi versión del juego.

        Código

        Link:

        Capturas del juego

        Screen Shot 2021-04-07 at 1.02.44 a.m..png
        Screen Shot 2021-04-07 at 1.03.05 a.m..png
          Jose Noriega

          Jose Noriega

          student•
          hace 5 años

          Cualquier sugerencia es bien recibida 😀

          Andrés Cardona

          Andrés Cardona

          student•
          hace 5 años

          Excelente!!

        David Santiago Hurtado Betancourt

        David Santiago Hurtado Betancourt

        student•
        hace 5 años

        Les comparto mi juego!

        Código en Github

        Tiene varias funcionalidades, es el mayor proyecto que he hecho hasta ahora como developer 😎.

          Kenneth Leonel Cruz Ordoñez

          Kenneth Leonel Cruz Ordoñez

          student•
          hace 5 años

          Muchacho, acabo de ver tu repo y leer tu bio; estoy muy sorprendido, es muy alentador y hasta inspirador.

          Felicidades.

          fidel angel ochoa

          fidel angel ochoa

          student•
          hace 5 años

          que buen juego!!

        Diego Buesaquillo

        Diego Buesaquillo

        student•
        hace 5 años

        Me tardé dos días para programar el juego. Buscaba en internet las dudas que me surgían, pues no quería ver el código de mis compañeros. Quise hacerlo por mis propios medios y lo logré! Sé que es un código muy artesanal y probablemente tenga varias cosas por mejorar o sintetizar, pero me siento muy feliz (no soy ingeniero, soy economista con pocos meses inmiscuido en programación :D).

        carbon (3).png

          Nestor Rodriguez

          Nestor Rodriguez

          student•
          hace 4 años

          Bien hecho compañero

          Alfredo Velez

          Alfredo Velez

          student•
          hace 4 años

          Yo también soy economista y me estoy metiendo en el tema de la programación XD

        Leandro Gutiérrez Escarpeta

        Leandro Gutiérrez Escarpeta

        student•
        hace 5 años

        ultimo dia de la suscripcion, ultimo curso ......byeeee ,nunca paresn de aprender !!!!!

          Royer Guerrero Pinilla

          Royer Guerrero Pinilla

          student•
          hace 5 años

          Esto suena muy triste 😿

          Saúl Mendoza

          Saúl Mendoza

          student•
          hace 5 años

          No se vaya señor @casillero21

        Andrés Camilo Rozo Vanegas

        Andrés Camilo Rozo Vanegas

        student•
        hace 5 años

        Hola. Este es mi reto de Hangman Game espero les pueda servir de guía 🐍: Link: //github.com/hackmilo/HangmanGame-JuegoAhorcado

        Menú de inicio:

        hangmanmenu.png

        Hangman:

        hangman.png

        Ganador:

        winhang.png

        Perdedor:

        losehang.png

          Carlos Saborio Yglesias

          Carlos Saborio Yglesias

          student•
          hace 4 años

          excelentes ilustraciones

          Ricardo Lopez

          Ricardo Lopez

          student•
          hace 4 años

          Excelente, como generaste las gráficas en la terminal?

        Cesar Hernández Ramírez

        Cesar Hernández Ramírez

        student•
        hace 5 años

        ✔ Esto les servirá para remover acentos a la hora de comparar el input con la letra:

        def normalize(s): # It removes the accents of a string replacements = ( ("á", "a"), ("é", "e"), ("í", "i"), ("ó", "o"), ("ú", "u"), ) for a, b in replacements: s = s.replace(a, b).replace(a.upper(), b.upper()) return s
          Leidy Julieth Herrera Torres

          Leidy Julieth Herrera Torres

          student•
          hace 5 años

          Que genial tu aporte. Yo encontré que los métodos maketrans() y translate() también son útiles para realizar el cambio de los caracteres especiales, por ejemplo:

          sentence = "Mi mamá le compró un balón de fútbol a mi hermano" new_sentence = sentence.maketrans('áéíóú', 'aeiou') n_sentence = sentence.translate(new_sentence) print(n_sentence)

          El resultado que arroja print es 'Mi mama le compro un balon de futbol a mi hermano'. Saludos.

          Santiago Lopera Naranjo

          Santiago Lopera Naranjo

          student•
          hace 5 años

          Mirando el aporte de ** LJHT_16 ** veo que el metodo maketrans lo que hace es crear un diccionario con el codigo ascii de cada letra donde la llave son el primer parametro y el valor el segudo:

          {225: 97, 233: 101, 237: 105, 243: 111, 250: 117}

          Supongo que translate es quien intercambia los valores.

          Gracias por ambos aportes!

          #nuncaparesdeaprendes 💚

        Miguel Angel Reyes Moreno

        Miguel Angel Reyes Moreno

        student•
        hace 5 años

        data.txt : crema café estrella explosión guitarra plástico navaja martillo libros lápiz lapicera aluminio embarcación letra agujeta ventana librería sonido universidad rueda perro llaves camisa pelo papá sillón felicidad catre teclado servilleta escuela pantalla sol codo tenedor estadística mapa agua mensaje lima cohete rey edificio césped presidencia hojas parlante colegio granizo pestaña lámpara mano monitor flor música hombre tornillo habitación velero abuela abuelo palo satélite templo lentes bolígrafo plato nube gobierno botella castillo enano casa libro persona planeta televisor guantes metal teléfono proyector mono remera muela petróleo percha remate debate anillo cuaderno ruido pared taladro herramienta cartas chocolate anteojos impresora caramelos living luces angustia zapato bomba lluvia ojo corbata periódico diente planta chupetín buzo oficina persiana puerta tío silla ensalada pradera zoológico candidato deporte recipiente diarios fotografía ave hierro refugio pantalón barco carne nieve tecla humedad pistola departamento celular tristeza hipopótamo sofá cama árbol mesada campera discurso auto cinturón rúcula famoso madera lentejas piso maletín reloj diputado cuchillo desodorante candado luz montañas computadora radio moño cuadro calor partido teatro bife fiesta bala auriculares

        José Rodrigo Arana Hi

        José Rodrigo Arana Hi

        student•
        hace 4 años

        Si lees esto, confía en tí. Tú puedes.

        Llevo apróximadamente cinco días con el reto. En un día ya tenía el programa funcional, los demás días a decir verdad los fui descansando después de muchas horas de estudio a lo largo de los últimos meses. Estos días estuve haciéndole mejoras al programa y tomando en cuenta el feedback de mi familia para mejorarlo.

        El reto es cómo harías tú mismo el programa con todo lo aprendido. Notarás (porque me pasó) que podías empezar por cualquier lado y que tienes ya muchas herramientas a tu disposición, pero te preguntabas cómo arrancar.

        Trata de hacer el reto tu mismo. Busca en internet, foros y blogs cómo se hace lo que quieres hacer. Te sorprenderás de muchas otras cosas que ni sabías. Al final, nada más complaciente que mirar el programa como producto final funcional, que te das cuenta que ya estás a otro nivel que ayer, y que sí, tu programa puede ser mejorado, pero date cuenta que lo lograste. Posteriormente toma el feedback de los demás sobre tu código y mejoralo. El feedback también nos mejora.

        Pronto les comparto mi código por github (tengo meses de no usarlo y ya olvidé varios conceptos, solo refresco mi memoria y lo subo): tiene manejo de errores, utilicé recomendaciones de Stackoverflow, además de que si te sabes la palabra, solo lo escribes y tienes la oportunidad de ganar. Si fallas, es un strike. Gracias master Facundo.

        Johnnie Lopez

        Johnnie Lopez

        student•
        hace 5 años
        Captura de pantalla 2021-04-13 a la(s) 4.47.17 p. m..png
          Joaquim Jair Merlo Luque

          Joaquim Jair Merlo Luque

          student•
          hace 5 años

          si pones lin = '-' * len(word) te ahorras toda una función

          Johnnie Lopez

          Johnnie Lopez

          student•
          hace 5 años

          Gracias @joaquimjairmerloluque1 efectivamente es así. ya hice la respectiva modificación.

          Captura de pantalla 2021-04-14 a la(s) 3.41.14 p. m..png
        Gabriel Andrés Rondón Barragán

        Gabriel Andrés Rondón Barragán

        student•
        hace 5 años

        Logré el reto, este es el enlace al repositorio con los archivos del mismo Repositorio. Para el que empieza perdido en el juego les comparto el camino que seguí para desarrollarlo, aunque las sugerencias al código son muy bien recibidas, se que tiene mucho por mejorar. Estos son los pasos:

        -Leer el archivo con las palabras. (También vi que algunos lo creaban en el caso que el archivo no estuviera, me pareció buena función y lo agregue). -Escoger una palabra del archivo aleatoriamente. -Recibir una letra de parte del jugador. -Crear un string o lista con el caracter "_" debe ser del tamaño de la palabra escogida. -Las tildes generan problemas, se deben traducir en letras sin tildes. -Encontrar las veces que la letra se encuentra en la palabra y en que posición están. -Ubicar la letra en la posición correspondiente dentro del espacio con las rayas al piso. -Reescribir cada vez que el usuario adivina una letra. -Validar si ya encontró la palabra completa. -Crear el sistema de puntos. -Crear el banner con código ASCII, hay varias paginas para hacerlo fácilmente (solo hay que tener en cuenta que algunos caracteres se ven en windows y en linux no)

        Espero a alguien le sirva de ayuda.!

        hangman_banner.png

        Cesar Hernández Ramírez

        Cesar Hernández Ramírez

        student•
        hace 5 años

        ✔ Este es mi resultado, tiene sistema de puntos, vidas, ilustraciones 4k, aprueba de tíldes, mayus., minus. y números: https://github.com/CesarHera/Intermediate_Python/blob/master/hangman.py

        Espero a alguien le ayude 🛒

          Jhon Edward Bedoya

          Jhon Edward Bedoya

          student•
          hace 5 años

          🟢 Interesante propuesta Cesar. Trata de separar los espacios entre letras y evita que salga la palabra escogida en pantalla

          Cesar Hernández Ramírez

          Cesar Hernández Ramírez

          student•
          hace 5 años

          Gracias!

        Luis Gerardo Hernández Pintor

        Luis Gerardo Hernández Pintor

        student•
        hace 5 años

        Con esta herramienta pase de texto a ascii

        https://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20

        espero les sirva :D

          FREDDY NILSON HOME VILLA

          FREDDY NILSON HOME VILLA

          student•
          hace 4 años

          Bien, gracias.

        Víctor Moreno Marín

        Víctor Moreno Marín

        student•
        hace 5 años
        Screenshot_20210516_213423.png
        Screenshot_20210516_213524.png
        Daniela Giraldo

        Daniela Giraldo

        student•
        hace 4 años

        Llegue a esta clase entendiendo la logica de cada una de las clases, pero siento que no se por donde comenzar, y viendo el codigo del profesor siento que hay muchas cosas que no vi, por ejemplo alguien me puede explicar para que utilizamos import os?.

          francisco ecatl melo valle

          francisco ecatl melo valle

          student•
          hace 4 años

          En esta leccion dio extras que no se vieron en las clases anteriores pero que podrian servir para mejorar el juego de ahorcado, y que de quererlas usar habria que buscarlas por nuestra cuenta en el caso de : import os se utiliza porque tiene una función que limpia la terminal, lo cual le daría mejor presentacion al programa

          Anthony Ismael Manotoa Moreno

          Anthony Ismael Manotoa Moreno

          student•
          hace 4 años

          Hola :)

          Mira esta clase a partir del min 02:19, ahí te deja "ayudas" en las que menciona lo de import os. Pero básicamente es para que automáticamente se limpie la consola.

          Parte del reto es justo eso, intentar unir todo lo aprendido para armar el programa. Cuando lo hice la primera vez me sentí igual y me tomó un par de horas poder hacerlo, pero eso te ayudará mucho en tu lógica.

        Mariano Gobea Alcoba

        Mariano Gobea Alcoba

        student•
        hace 4 años

        Buenas a todos/as en esta maravillosa comunidad: Les dejo mi versión del Hangman Game. Una maravillosa experiencia de programación.

        https://github.com/Mgobeaalcoba/python_intermedio_platzi/blob/main/juego_del_ahorcado.py

        Consola del Hangman Game.PNG
        Yair Enrique Riascos Mestre

        Yair Enrique Riascos Mestre

        student•
        hace 4 años

        Aquí dejo mi solución al reto

        import random import os def run(): intentos=5 acierto=0 lista=[] final="" #Abriendo el archivo with open("./data.txt","r",encoding="utf-8")as f: for i in f: lista.append(i.rstrip("\n")) #Obtenido palabra random palabra=random.choice(lista) adivina =["_" for i in palabra ] print(""" Bienvenido/a al juego del ahorcado la palabra que debes adivinar es """ +"_ "*len(palabra) +"Tienes " +str(intentos)+" intentos") while(True): letra=input("Ingresa una letra ").lower() if(len(letra)>=2 or letra.isalpha==False): letra="" print(" Has ingresado un caracter inválido") continue for count, i in enumerate(palabra): if letra == i: adivina[count]=letra acierto+=1 print("acertaste "+ str(acierto)+" veces la letra "+ letra) acierto=0 if letra not in palabra: intentos -=1 print("fallaste te restan "+ str(intentos)+ " intentos") for i in adivina: print(i , end=" ") final+=i if final == palabra: print("Has ganado, la palabra correcta es "+final) break if intentos ==0: print("Has perdido, mejor suerte la próxima la palabra correcta era "+ palabra) break final="" if __name__ == "__main__": run()
          Joseph Lázaro Ricardo

          Joseph Lázaro Ricardo

          student•
          hace 4 años

          Gracias, me ayudo bastante.

        Roberto Andres Viruete Gonzalez

        Roberto Andres Viruete Gonzalez

        student•
        hace 5 años

        aqui esta mi codigo, intente hacerlo de la manera mas corta y sensilla posible por que en el primer intento el codigo era un desastre a mi criterio

        import random import os def run(): with open('./DATA.txt' , 'r' , encoding='utf-8') as data: lista = [i.strip() for i in data] palabra = random.choice(lista) palabra_oculta_lista = ['_' for i in range( len(palabra) ) ] string_palabra_oculta = "".join(palabra_oculta_lista) while palabra != string_palabra_oculta: os.system("clear") print(f'Juguemos ahorcado, adivina la palabra, {len(palabra)} letras') print(string_palabra_oculta) letra = input('Presiona una tecla y despues enter ').lower() iterador = 0 for i in palabra: if i == letra: palabra_oculta_lista[iterador] = i iterador += 1 string_palabra_oculta = "".join(palabra_oculta_lista) if palabra == string_palabra_oculta: os.system("clear") print(f'Felicidades la palabra era {string_palabra_oculta}') if __name__ == '__main__': run()
        DANIEL RUIZ DE LA RIVA

        DANIEL RUIZ DE LA RIVA

        student•
        hace 4 años

        Sencillo pero es trabajo honesto:

        ## JUEGO DEL AHORCADO import os import random import time TITLE = " ..:::: AHORCADO ::::.." HANGMANPICS = [''' +---+ | | | | | =========''', ''' +---+ | | | | | | =========''', ''' +---+ | | O | | | | =========''', ''' +---+ | | O | | | | | =========''', ''' +---+ | | O | /| | | | =========''', ''' +---+ | | O | /|\ | | | =========''', ''' +---+ | | O | /|\ | / | | =========''', ''' +---+ | | O | /|\ | / \ | | ========='''] LIFES = 7 lifes = LIFES def select_word(): with open("./data.txt", "r", encoding="utf-8") as f: list = [line for line in f] dic = {list.index(word): word for word in list} last_index = list.index(list[-1]) random_index = random.randrange(0, last_index) word = dic.get(random_index) return word[0:-1] def init(word): os.system("cls") size = len(word) box = [] for i in range(0, size): box.insert(i, "_") print(TITLE) print("\n" + HANGMANPICS[LIFES-lifes]) print("\n" + " ".join(box)) return box def check_input(guess, word): char = input("\nIngresa una letra (Chances = " + str(lifes) + "): ") while True: try: if char.isalpha() and len(char) == 1: return char break else: raise Exception except Exception: char = input("Error: Ingresa solo una letra: ") def search(char, word, box): global lifes if word.count(char) > 0: for index, item in enumerate(box): if char == word[index]: box[index] = char else: print("Fallaste!") time.sleep(1) lifes = lifes - 1 return box def refresh(box): os.system("cls") print(TITLE) print("\n" + HANGMANPICS[LIFES-lifes]) print("\n" + " ".join(box)) array = "".join(box) return array def run(): word = select_word() box = init(word) guess = "" while guess != word and lifes > 0: char = check_input(guess, word) box = search(char, word, box) guess = refresh(box) if lifes > 0: print("\nAdivinaste la palabra ", word.upper()) else: print("\nAhorcado!!") print("La palabra correcta es ", word.upper()) if __name__ == '__main__': run()
          Nelson Ricardo Ramírez García

          Nelson Ricardo Ramírez García

          student•
          hace 3 años

          ¡Excelente! 👊👍

        Kenneth Leonel Cruz Ordoñez

        Kenneth Leonel Cruz Ordoñez

        student•
        hace 5 años

        El resultado:

        Screenshot (28).png
        Screenshot (30).png
        Screenshot (31).png
        Screenshot (32).png
        Screenshot (33).png

        Finalmente hace uso de POO y uso de un archivo JSON para el manejo de las palabras en el uso del juego.

        Repositorio:
        Github

          Brayan Buitrago

          Brayan Buitrago

          student•
          hace 5 años

          El detalle de los corazones para las vidas y opción de dificultad... 10/10

        Roberto Andres Viruete Gonzalez

        Roberto Andres Viruete Gonzalez

        student•
        hace 5 años

        pude hacer el reto sin ayuda pero mi codigo me quedo horrible, no tengo mucha experiencia en programacion a mi favor ¿alguien mas?

          Héctor Eduardo López Carballo

          Héctor Eduardo López Carballo

          student•
          hace 5 años

          Es normal, no te sientas mal por ello. Conforme avances te darás cuenta de las buenas prácticas para escribir código, el chiste es que sigas practicando y aprendiendo.