i working in python , creating hangman game
import random hangmanpics = [''' '''] words = 'ant baboon badger bat bear beaver camel cat clam cobra cougar coyote crow deer dog donkey duck eagle ferret fox frog goat goose hawk lion lizard llama mole monkey moose mouse mule newt otter owl panda parrot pigeon python rabbit ram rat raven rhino salmon seal shark sheep skunk sloth snake spider stork swan tiger toad trout turkey turtle weasel whale wolf wombat zebra'.split() def getrandomword(wordlist): # function returns random string passed list of strings. wordindex = random.randint(0,len(wordlist) - 1) return wordlist[wordindex] def displayboard(hangmanpics,missedletters,correctletters,secretword): print(hangmanpics[len(missedletters)]) print() print('missed letters:', end=' ') letter in missedletters: print(letter, end=' ') print() blanks='_'*len(secretword) in range(len(secretword)):# replace blanks correctly guessed letters if secretword[i] not in correctletters: blanks = blanks[:i] + secretword[i] + blanks[i+1:] letters in blanks: print(letter, end='') print() def getguess(alreadyguessed): while true: print('guess letter') guess= input() guess=guess.lower() if len(guess)!= 1: print('please enter single letter.') elif guess in alreadyguessed: print('you have guessed letter. guess again.') elif guess not in'abcdefghijklmnopqrstuvwxyz': print('please enter letter.') else: return guess def playagain(): print('do want play again?(yes or no)') return input().lower().startswith('y') print('h n g m n') missedletters = '' correctletters = '' secretword= getrandomword(words) gameisdone= false while true: displayboard(hangmanpics, missedletters, correctletters, secretword) guess= getguess(missedletters + correctletters) if guess in secretword: correctletters= correctletters + guess foundallletters = true in range(len(secretword)): if secretword[i] not in correctletters: foundallletters = false break if foundallletters: print('yes! secret word "' + secretword + '"! have won!') gameisdone = true else: missedletters = missedletters + guess # check if player has guessed many times , lost if len(missedletters)==len(hangmanpics)- 1: displayboard(hangmanpics, missedletters, correctletters, secretword) print('you have run out of guesses!\nafter ' + str(len(missedletters)) + ' missed guesses , ' + str(len(correctletters)) + ' correct guesses, word "' + secretword + '"') gameisdone= true if gameisdone: if playagain(): missedletters = '' correctletters= '' gameisdone = false secretword = getrandomword(words) else: break but on executing showing error
traceback (most recent call last): file "e:\python 3\hangman.py", line 114, in <module> displayboard(hangmanpics, missedletters, correctletters, secretword) file "e:\python 3\hangman.py", line 83, in displayboard print(letter, end='') unboundlocalerror: local variable 'letter' referenced before assignment
for letters in blanks: print(letter, end='') in loop write letters , later use letter. make
for letter in blanks: print(letter, end='')
Comments
Post a Comment