-
Notifications
You must be signed in to change notification settings - Fork 0
/
hangman.py
109 lines (97 loc) · 2.38 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import dict
import random
def hangman_graphic(guesses):
if guesses == 0:
print "________ "
print "| | "
print "| "
print "| "
print "| "
print "| "
elif guesses == 1:
print "________ "
print "| | "
print "| 0 "
print "| "
print "| "
print "| "
elif guesses == 2:
print "________ "
print "| | "
print "| 0 "
print "| / "
print "| "
print "| "
elif guesses == 3:
print "________ "
print "| | "
print "| 0 "
print "| /| "
print "| "
print "| "
elif guesses == 4:
print "________ "
print "| | "
print "| 0 "
print "| /|\ "
print "| "
print "| "
elif guesses == 5:
print "________ "
print "| | "
print "| 0 "
print "| /|\ "
print "| / "
print "| "
else:
print "________ "
print "| | "
print "| 0 "
print "| /|\ "
print "| / \ "
print "| "
def hangman():
guesses = []
d = dict.get_dictionary()
w = random.choice(d)
nleft = 6
for i in w:
print "_",
print
while True:
hangman_graphic(6-nleft)
guess = raw_input("what is your guess? ")
if guess in guesses:
print "you already guessed that"
continue
guesses.append(guess)
nmatch = 0
for c in w:
if c in guesses:
print c,
nmatch += 1
else:
print "_",
print
if guess not in w:
print "incorrect"
nleft -= 1
print "you have",
print nleft,
print "wrong guesses left"
if nmatch == len(w):
print "you win!"
break
if nleft == 0:
print "you lose!"
print w
break
def play_hangman():
while True:
hangman()
g = raw_input("play again? y/s")
if g == "y":
hangman()
else:
break
play_hangman()