Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def restart():
- global lettersGuessed, availableLetters, mistakes, thewords, secretWord
- thewords = random.choice([ "red head", "ballpark","disaster", "benjamin keller", "diamonds", "time to hang some men", "bottlecap", "papertowel",
- "baggie", "tree hugger", "representation", "hunger", "personality","water park"])
- lettersGuessed = [" "]
- availableLetters = list("abcdefghijklmnopqrstuvwxyz")
- mistakes = 8
- print("""
- Welcome to Hangman!
- ___________________
- """)
- hangman(thewords)
- def hangman(secretWord):
- lettersGuessed = [" "]
- availableLetters = list("abcdefghijklmnopqrstuvwxyz")
- mistakes = 8
- while mistakes > 0:
- if mistakes == 4:
- print("looks like you need a little help!")
- x = random.randrange(0,len(secretWord))
- while x in lettersGuessed:
- x = random.randrange(0,len(secretWord))
- hint = secretWord[x]
- print("let me fill in",hint, "for you.")
- lettersGuessed.append(hint)
- availableLetters.remove(hint)
- if wordFound(secretWord, lettersGuessed):
- print("You figured it out!")
- print(secretWord)
- playagain = input("would you like to play again? 'y' or 'n': ")
- if playagain == "y":
- restart()
- else:
- exit()
- print(displayWord(secretWord, lettersGuessed))
- print("Available letters:", " ".join(availableLetters))
- print("You have", mistakes, "mistakes left")
- guess = input("guess a letter: ")
- if guess.lower() in availableLetters:
- availableLetters.remove(guess)
- lettersGuessed.append(guess)
- if guess in secretWord:
- print("Good Guess!")
- else:
- mistakes -= 1
- print("Bad guess.")
- else:
- print("You already guessed that one")
- if mistakes == 0:
- print("you made too many mistakes, you lose!")
- print(secretWord, "is the secret word.")
- playagain = input("would you like to play again? 'y' or 'n': ")
- if playagain == "y":
- restart()
- else:
- exit()
- def displayWord(secretWord, lettersGuessed):
- word = []
- for i in secretWord:
- if i in lettersGuessed:
- word.append(i)
- else:
- word.append("_")
- return(" ".join(word))
- def wordFound(secretWord, lettersGuessed):
- for i in secretWord:
- if i not in lettersGuessed:
- return False
- return True
- restart()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement