Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import secrets
- def guess_the_word():
- tries_left = 9
- output = ["_"] * len(secret_word)
- print(str(' '.join([letter for letter in output])).strip())
- while tries_left >= 0 and not secret_word == str(''.join([letter for letter in output])):
- # print tries left
- print("nYou have {} tries left".format(tries_left))
- # display the _ which is length of the secret_word and fill in _ as and when the user
- # types correct word
- guessed_letter = input("Guess a letter from secret word:")
- if guessed_letter in secret_word:
- print("You guessed correct")
- for i, x in enumerate(secret_word):
- if x is guessed_letter:
- output[i] = guessed_letter
- else:
- tries_left -= 1
- print("You guessed incorrect")
- print(str(' '.join([letter for letter in output])).strip())
- print("nWelcome to Hangman Game!n")
- # open words.txt file to read words
- with open("words.txt") as words_file:
- words_list = words_file.read().split()
- # choose a random word from words_list
- secret_word = secrets.choice(words_list)
- guess_the_word()
- class Hangman:
- def __init__(self, word, num_guesses = 9):
- # first take care of init arguments
- self._num_guesses = num_guesses
- self._word = word.lower()
- # after that we define other variables we will be needing
- self._guessed_word = ["_"]*len(word)
- def _guess(self, letter):
- if letter.lower() in self._word:
- for i, c in enumerate(self._word):
- if c is letter:
- self._guessed_word[i] = letter
- return True
- return False
- def play(self):
- print("nWelcome to Hangman Game!n")
- while self._num_guesses > 0:
- letter = input("Guess a letter from the secret word:")
- if self._guess(letter):
- print("You guessed correct")
- if self._word == "".join(self._guessed_word):
- break
- else:
- self._num_guesses -= 1
- print("You guessed incorrect")
- print(" ".join(self._guessed_word))
- if __name__ == "__main__":
- h = Hangman("codereview")
- h.play()
Add Comment
Please, Sign In to add comment