-
Notifications
You must be signed in to change notification settings - Fork 0
/
hangman.py
95 lines (79 loc) · 2.24 KB
/
hangman.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/python
import os
from random import choice
guesses = []
wrongL = []
iLetter = ""
with open(os.path.join(os.path.dirname(__file__), 'words.txt')) as f:
words = [line.rstrip('\n') for line in f.readlines()]
word = list(choice(words))
length = len(word)
blanks = ['_'] * length
def guessOpen():
global guesses
print(" ".join(blanks))
def inputP():
global iLetter
iLetter = str(input('Enter your first letter: '))
for let in iLetter:
if let.isdigit():
print("Not a letter! Try again.")
inputP()
if len(iLetter) > 1:
print('Your entry was too long. Reenter your letter.')
inputP()
inputP()
if iLetter not in guesses:
guesses.append(iLetter)
print("Guessed Letters: " + ", ".join(guesses))
print(len(wrongL))
if iLetter in word:
rightL(iLetter)
else:
wrong(iLetter)
def rightL(l):
global iLetter
for mi, li in enumerate(word):
if li == iLetter:
blanks[mi] = iLetter
if not checks():
guessOpen()
def wrong(x):
global wrongL
wrongL.append(x)
print ("\'" + x.upper() + "\'" + " was not found in the secret word!\n")
print('\nYou have ' + str(len(wrongL)) +
" missed guesses. You have " + str(7 - (len(wrongL))) + " misses left!")
if checks2():
guessOpen()
def checks():
global iLetter, wrongL, guesses, word, blanks, length
if blanks == word:
print("\n" + "".join(blanks) + "\n")
print("Congrats! You won! Play Again!")
reset()
guessOpen()
return True
else:
return False
def checks2():
if len(wrongL) == 7:
print("Too many misses! The word was " +
"".join(word) + ". Try again!")
reset()
guessOpen()
return False
else:
return True
def reset():
global iLetter, wrongL, guesses, word, blanks, length
word = list(choice(words))
length = len(word)
blanks = ['_'] * length
guesses = []
wrongL = []
iLetter = ""
try:
print("Word has been chosen. Make your first guess wisely! You only have 7 misses\n", guessOpen())
except KeyboardInterrupt:
print('\nThanks for Playing!')