Example #1
0
 def test_is_word_guessed(self):
     secretWord = "bonjour"
     true_lettersGuessed = ["b", "o", "n", "j", "o", "u", "r"]
     false_lettersGuessed = ["b", "o", "n", "j"]
     self.assertTrue(
         ps3_hangman.isWordGuessed(secretWord, true_lettersGuessed))
     self.assertFalse(
         ps3_hangman.isWordGuessed(secretWord, false_lettersGuessed))
def hangman_func(secret_word):
    '''
    secretWord: string, the secret word to guess.

    Starts up an interactive game of Hangman.

    * At the start of the game, let the user know how many
      letters the secretWord contains.

    * Ask the user to supply one guess (i.e. letter) per round.

    * The user should receive feedback immediately after each guess
      about whether their guess appears in the computers word.

    * After each round, you should also display to the user the
      partially guessed word so far, as well as letters that the
      user has not yet guessed.

    Follows the other limitations detailed in the problem write-up.
    '''
    # FILL IN YOUR CODE HERE...
    guesses_cnt = 10
    letters_guessed = []
    print("Welcome to the game, Hangman!")
    print("I am thinking of a word that is", len(secret_word), "letters long.")
    print("-------------")
    while guesses_cnt > 0 and (not isWordGuessed(secret_word,
                                                 letters_guessed)):
        print("You have", guesses_cnt, "guesses left.")
        print("Available letters:", getAvailableLetters(letters_guessed))
        guess = str.lower(input("Please guess a letter:"))
        guessed_word = getGuessedWord(secret_word, letters_guessed)
        letters_guessed.append(guess)
        if guess in guessed_word:
            guessed_word = getGuessedWord(secret_word, letters_guessed)
            print("Oops! You've already guessed that letter:", guessed_word)
            print("\n------------")
        elif guess in secret_word:
            guessed_word = getGuessedWord(secret_word, letters_guessed)
            print("Good guess", guessed_word)
            print("\n------------")
        elif guess not in secret_word:
            guessed_word = getGuessedWord(secret_word, letters_guessed)
            print("Oops! That letter is not in my word:", guessed_word)
            print("\n------------")
            guesses_cnt -= 1
    if isWordGuessed(secret_word, letters_guessed):
        print("Congratulations, you won!")
        print("\n------------")
    else:
        print("Sorry, you ran out of guesses. The word was " + secret_word +
              "\n------------")
Example #3
0
 def test_isWordGuessed_False(self):
     actual = ps3_hangman.isWordGuessed('apple',
                                        ['a', 'e', 'i', 'k', 'p', 'r', 's'])
     self.assertFalse(actual)
Example #4
0
 def test_isWordGuessed_True(self):
     actual = ps3_hangman.isWordGuessed(
         'durian', ['h', 'a', 'c', 'd', 'i', 'm', 'n', 'r', 't', 'u'])
     self.assertTrue(actual)
 def test_case_2(self):
     self.assertFalse(ps3_hangman.isWordGuessed('hellow', 'alksjdfasfhello'))
 def test_case_1(self):
     self.assertTrue(ps3_hangman.isWordGuessed('hello', 'alksjdfasfhello'))
 def test_case_5(self):
     self.assertTrue(ps3_hangman.isWordGuessed('', ''))
 def test_case_4(self):
     self.assertTrue(ps3_hangman.isWordGuessed('1111', '1111'))
 def test_case_3(self):
     self.assertTrue(ps3_hangman.isWordGuessed('a', 'a'))