Untitled

 avatar
unknown
plain_text
4 months ago
1.9 kB
19
Indexable
def isWordGuessed(secretWord, lettersGuessed):
    for ch in secretWord:
        if ch not in lettersGuessed:
            return False
    return True


def getGuessedWord(secretWord, lettersGuessed):
    result = ""
    for ch in secretWord:
        if ch in lettersGuessed:
            result += ch
        else:
            result += "_ "
    return result


def getAvailableLetters(lettersGuessed):
    import string
    result = ""
    for ch in string.ascii_lowercase:
        if ch not in lettersGuessed:
            result += ch
    return result


def hangman(secretWord):
    print("Welcome to the game Hangman!")
    print("I am thinking of a word that is {} letters long".format(len(secretWord)))
    print("-----------")

    guesses_left = 8
    lettersGuessed = []

    while guesses_left > 0 and not isWordGuessed(secretWord, lettersGuessed):
        print("You have {} guesses left".format(guesses_left))
        print("Available Letters: " + getAvailableLetters(lettersGuessed))

        guess = input("Please guess a letter: ").lower()

        if guess in lettersGuessed:
            print("Oops! You've already guessed that letter: " +
                  getGuessedWord(secretWord, lettersGuessed))
        else:
            lettersGuessed.append(guess)
            if guess in secretWord:
                print("Good guess: " + getGuessedWord(secretWord, lettersGuessed))
            else:
                guesses_left -= 1
                print("Oops! That letter is not in my word: " +
                      getGuessedWord(secretWord, lettersGuessed))

        print("-----------")

    if isWordGuessed(secretWord, lettersGuessed):
        print("Congratulations, you won!")
    else:
        print("Sorry, you ran out of guesses. The word was {}.".format(secretWord))
Editor is loading...
Leave a Comment