Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def isWordGuessed(secretWord, lettersGuessed):
- '''
- secretWord: string, the word the user is guessing
- lettersGuessed: list, what letters have been guessed so far
- returns: boolean, True if all the letters of secretWord are in lettersGuessed;
- False otherwise
- '''
- # FILL IN YOUR CODE HERE...
- # FILL IN YOUR CODE HERE...
- for char in secretWord:
- if char not in lettersGuessed:
- return False
- return True
- def getGuessedWord(secretWord, lettersGuessed):
- '''
- secretWord: string, the word the user is guessing
- lettersGuessed: list, what letters have been guessed so far
- returns: string, comprised of letters and underscores that represents
- what letters in secretWord have been guessed so far.
- '''
- # FILL IN YOUR CODE HERE...
- word = ''
- for char in secretWord:
- if char in lettersGuessed:
- word = word + char
- else:
- word = word + '_ '
- return word
- def getAvailableLetters(lettersGuessed):
- '''
- lettersGuessed: list, what letters have been guessed so far
- returns: string, comprised of letters that represents what letters have not
- yet been guessed.
- '''
- # FILL IN YOUR CODE HERE...
- import string
- alphabet = string.ascii_lowercase
- remaining = alphabet
- for char in lettersGuessed:
- remaining = remaining.replace(char, '')
- ''.join(remaining)
- return remaining
- def hangman(secretWord):
- '''
- 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...
- print("Welcome to the game Hangman!")
- print('I am thinking of a word that is ' + str(len(secretWord)) + ' letters long.')
- guesses = 8
- lettersGuessed = []
- while guesses < 0 or isWordGuessed(secretWord, lettersGuessed) == False:
- print("You have " + str(int(guesses)) + ' guesses left.')
- print(getAvailableLetters(lettersGuessed))
- g = input("Please guess a letter:").lower()
- if g in secretWord:
- lettersGuessed.append(g)
- print('Good guess: ' + getGuessedWord(secretWord, lettersGuessed))
- if isWordGuessed(secretWord, lettersGuessed) == True:
- return print('Congratulations, you won!')
- break
- elif g in lettersGuessed:
- print('Ooops! You have already guessed that letter: ' + getGuessedWord(secretWord, lettersGuessed))
- else:
- lettersGuessed.append(g)
- print('Ooops! That letter is not in my word:' + getGuessedWord(secretWord, lettersGuessed))
- guesses -= 1
- if guesses < 1:
- return print('Sorry, you ran out of guesses. The word was' , secretWord)
- if isWordGuessed == True:
- return print('Congratulations, you won!')
- # When you've completed your hangman function, uncomment these two lines
- # and run this file to test! (hint: you might want to pick your own
- # secretWord while you're testing)
- hangman('blue')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement