Lesson 13: Hangman revised post class
Post date: Jan 25, 2018 11:27:36 PM
#main.py
import hangman
print("Let's play Hangman")
word = hangman.getWord()
good_letters = ""
missed_letters = ""
missedGuess = 0
word_dash = hangman.getDashedWord(word, good_letters)
safe = False
hanged = False
while safe == False and hanged == False:
searchspace = hangman.wordLength(len(word))
searchspace = hangman.eliminateMissed(searchspace, missed_letters)
print(searchspace)
print(len(searchspace))
print(word_dash)
guess = input("Guess a letter:")
if word.find(guess) > -1 and good_letters.find(guess) == -1:
print("Correct guess!")
good_letters += guess
word_dash = hangman.getDashedWord(word, good_letters)
if word_dash.find("_") == -1:
safe = True
else:
print("Wrong guess!")
missedGuess += 1
if missed_letters.find(guess) == -1:
missed_letters += guess
hanged = hangman.drawHangman(missedGuess)
print("The correct word is ", word)
if hanged:
print("Sorry you are hanged...")
else:
print("You are safe!!!")
#hangman.py please download the file from
#https://sites.google.com/site/primaryprogrammers/files/hangman.py?attredirects=0&d=1
import random
def wordLength(length):
searchspace = []
for w in db:
if len(w) == length:
searchspace.append(w)
return searchspace
def eliminateMissed(words, missed_letters):
searchspace = []
for w in words:
add = True
for y in missed_letters:
if w.find(y) != -1:
add = False
if add:
searchspace.append(w)
return searchspace
def getWord():
select = random.randint(0,len(db))
return db[select]
def getDashedWord(word, good_letters):
word_dash = ""
for x in range(0, len(word)):
if good_letters.find(word[x]) > -1:
word_dash += word[x] + " "
else:
word_dash += "_ "
return word_dash
def drawHangman(missedGuesses):
if missedGuesses <= 0: return
print(" _____________")
if missedGuesses > 1:
print(" | |")
else: print(" |")
if missedGuesses > 2:
print(" | O")
else: print(" |")
if missedGuesses > 3:
print(" | /|\\")
else: print(" |")
if missedGuesses > 4:
print(" | |")
else: print(" |")
if missedGuesses > 5 :
print(" | / \\")
else: print(" |")
print(" |")
print(" |")
print(" |_____________")
return bool(missedGuesses > 6)