Juego de ahorcado en Python, sencillo

Primero, necesitamos importar un módulo llamado «random», que nos permitirá elegir una palabra aleatoria de una lista. Luego, podemos definir una lista de palabras que el programa elegirá al azar.

Ahora, elegiremos una palabra al azar de la lista usando la función «choice» del módulo «random». Y convertiremos cada letra de la palabra en un guión bajo para ocultar la palabra.

Luego, podemos crear un ciclo while para que el juego se repita hasta que el usuario adivine la palabra o hasta que se le agoten los intentos. Para esto, definimos una variable para contar los intentos y otra para guardar las letras que el usuario ya adivinó

Dentro del ciclo while, podemos pedirle al usuario que ingrese una letra y comprobar si la letra está en la palabra secreta. Si la letra está en la palabra, podemos reemplazar el guión bajo correspondiente por la letra en la palabra oculta. Si no está en la palabra, sumamos un intento y mostramos una parte del dibujo del ahorcado correspondiente a cada intento.

import random

palabras = ['gato', 'perro', 'elefante', 'jirafa', 'rinoceronte', 'leon']

palabra_secreta = random.choice(palabras)
palabra_oculta = "_" * len(palabra_secreta)

intentos = 0
letras_adivinadas = []
while intentos < 6:

    letra = input("Ingresa una letra: ")
    if letra in letras_adivinadas:
        print("Ya adivinaste esa letra, ¡intenta otra!")
    elif letra in palabra_secreta:
        for i in range(len(palabra_secreta)):
            if palabra_secreta[i] == letra:
                palabra_oculta = palabra_oculta[:i] + letra + palabra_oculta[i+1:]
        print("¡Bien hecho! La palabra es:", palabra_oculta)
        if "_" not in palabra_oculta:
            print("¡Felicidades, adivinaste la palabra!")
            break
    else:
        intentos += 1
        print("Letra incorrecta, te quedan", 6-intentos, "intentos.")
        letras_adivinadas.append(letra)
        if intentos == 1:
            print("  O")
        elif intentos == 2:
            print("  O")
            print("  |")
        elif intentos == 3:
            print("  O")
            print(" /|")
        elif intentos == 4:
            print("  O")
            print(" /|\\")
        elif intentos == 5:
            print("  O")
            print(" /|\\")
            print(" /")
        elif intentos == 6:
            print("  O")
            print(" /|\\")
            print(" / \\")
            print("Lo siento, no adivinaste la palabra. La palabra era", palabra_secreta)
            break