Guest User

Untitled

a guest
Jun 18th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. import secrets
  2.  
  3.  
  4. def guess_the_word():
  5. tries_left = 9
  6. output = ["_"] * len(secret_word)
  7.  
  8. print(str(' '.join([letter for letter in output])).strip())
  9.  
  10. while tries_left >= 0 and not secret_word == str(''.join([letter for letter in output])):
  11. # print tries left
  12. print("nYou have {} tries left".format(tries_left))
  13. # display the _ which is length of the secret_word and fill in _ as and when the user
  14. # types correct word
  15.  
  16. guessed_letter = input("Guess a letter from secret word:")
  17.  
  18. if guessed_letter in secret_word:
  19. print("You guessed correct")
  20. for i, x in enumerate(secret_word):
  21. if x is guessed_letter:
  22. output[i] = guessed_letter
  23. else:
  24. tries_left -= 1
  25. print("You guessed incorrect")
  26.  
  27. print(str(' '.join([letter for letter in output])).strip())
  28.  
  29.  
  30. print("nWelcome to Hangman Game!n")
  31. # open words.txt file to read words
  32. with open("words.txt") as words_file:
  33. words_list = words_file.read().split()
  34. # choose a random word from words_list
  35. secret_word = secrets.choice(words_list)
  36. guess_the_word()
  37.  
  38. class Hangman:
  39. def __init__(self, word, num_guesses = 9):
  40. # first take care of init arguments
  41. self._num_guesses = num_guesses
  42. self._word = word.lower()
  43. # after that we define other variables we will be needing
  44. self._guessed_word = ["_"]*len(word)
  45.  
  46. def _guess(self, letter):
  47. if letter.lower() in self._word:
  48. for i, c in enumerate(self._word):
  49. if c is letter:
  50. self._guessed_word[i] = letter
  51. return True
  52. return False
  53.  
  54. def play(self):
  55. print("nWelcome to Hangman Game!n")
  56. while self._num_guesses > 0:
  57. letter = input("Guess a letter from the secret word:")
  58. if self._guess(letter):
  59. print("You guessed correct")
  60. if self._word == "".join(self._guessed_word):
  61. break
  62. else:
  63. self._num_guesses -= 1
  64. print("You guessed incorrect")
  65. print(" ".join(self._guessed_word))
  66.  
  67.  
  68. if __name__ == "__main__":
  69. h = Hangman("codereview")
  70. h.play()
Add Comment
Please, Sign In to add comment