Hazme un juego del ahogado en python que cumpla con las siguientes condiciones: Que use with import para usar un archivo de texto con las palabras que se van a utilizar, que tenga un sistema de vidas, que no permita ingresar valores que no sean texto y tampoco letras que el usuario haya usado anteriormente
Aquí tienes un ejemplo de código que cumple con las condiciones que mencionas:

Python:

import random

def juego_del_ahogado(palabra_secreta):
    vidas = 5
    letras_usadas = []
    palabra_progreso = [_ for letra in palabra_secreta]

    while _ in palabra_progreso and vidas > 0:
        letra = input(Adivina una letra: )

        if not letra.isalpha():
            print(Por favor ingresa solo letras)
            continue

        if len(letra) != 1:
            print(Por favor ingresa solo una letra a la vez)
            continue

        if letra in letras_usadas:
            print(fYa has usado la letra '{letra}' antes)
            continue

        letras_usadas.append(letra)

        if letra in palabra_secreta:
            for i, l in enumerate(palabra_secreta):
                if l == letra:
                    palabra_progreso[i] = letra
        else:
            vidas -= 1
            print(fLa letra '{letra}' no está en la palabra. Te quedan {vidas} vidas)

        print( .join(palabra_progreso))

    if _ not in palabra_progreso:
        print(¡Ganaste!)
    else:
        print(fPerdiste. La palabra era '{palabra_secreta}')

if __name__ == __main__:
    with open(palabras.txt, r) as f:
        palabras = f.readlines()
    palabra_secreta = random.choice(palabras).strip()
    juego_del_ahogado(palabra_secreta)

Este código usa el método open con la sentencia with para leer un archivo de texto con las palabras que se van a utilizar en el juego. La palabra secreta se elige al azar de la lista de palabras y se pasa como argumento a la función juego_del_ahogado. La función mantiene un registro de las letras usadas y las vidas restantes, y verifica que la entrada del usuario sea una letra válida que no se haya usado antes. Si la letra está en la palabra secreta, se actualiza la palabra de progreso, de lo contrario, se resta una vida. El juego continúa hasta que el usuario adivine la palabra secreta o se quede sin vidas. Al final, se muestra si el usuario ganó o perdió.