Python hangman game,doesnt work -


i trying develop hangman game in python, , stuck figuring out why correctly guessed letters not being remembered program.

for example, if entered letter in word "hello", python recognizes match when prompts letter entered, forgets updt_list (list has entered letters).

if kind have grateful.

import time   def pick_a_word():      word = "hello"     return word  def guess_a_letter():     aletter = input("please input 1 letter @ time:\n")     no_letters= len(aletter)     if no_letters > 1:         print("you inputed more 1 letter! don't forget- 1 @ time.\nlets try again..")         time.sleep(2)         return guess_a_letter()     else:         return aletter   def blanklist(aword):     blanklist = len(aword) * "_"     return list(blanklist)  def check(aletter,aword,blanklist):      updt_list= blanklist(aword)      which_letter= aword.index(aletter)      updt_list[which_letter] = aletter      return updt_list   def engine():      guess=guess_a_letter()     wordtoguess=pick_a_word()     if guess in wordtoguess:         print("\n")         print("the letter in word")         print(check(guess,wordtoguess,blanklist))          time.sleep(1)     else:         print("\n")         print("the letter not in word")          time.sleep(1)     def repeat():     x = 0     while x <= 5:         lifes= 6- x         print("you have",lifes," attempts left")          engine()          x = x  repeat() 

please note inelegant , there problems if keep on guessing letter 'l' in case... didn't have more time spend on should enough push bit forward. remembers player's guesses , user can win game. apologies...

    import time       def pick_a_word():          word = "hello"         return word      def guess_a_letter():         #aletter = input("please input 1 letter @ time:\n")         aletter = 'l'         no_letters= len(aletter)         if no_letters > 1:             print("you inputed more 1 letter! don't forget- 1 @ time.\nlets try again..")             time.sleep(2)             return guess_a_letter()         else:             return aletter       def buildwordlist(aword):         blanklist = len(aword) * "_"         return list(blanklist)      def check(aletter,aword,updt_list, wordindex=0):          which_letter= aword.index(aletter, wordindex)          if updt_list[which_letter] != "_" , ((wordindex + 1) < len(aword)):             wordindex = which_letter + 1             check(aletter,aword,updt_list, wordindex)          updt_list[which_letter] = aletter          return updt_list       def engine(mistakes, updt_list, correctguesses):          youwinflag = false          guess=guess_a_letter()         wordtoguess=pick_a_word()         if guess in wordtoguess:             print("\n")             print("the letter in word")             updt_list = check(guess,wordtoguess,updt_list)             print updt_list             correctguesses += 1             if correctguesses == len(wordtoguess):                 print("you guessed word!")                 youwinflag = true               time.sleep(1)         else:             print("\n")             print("the letter not in word")             mistakes += 1             time.sleep(1)          return mistakes, updt_list, correctguesses, youwinflag        def repeat(updt_list):         x = 0         blanklist = ''         correctguesses = 0         while x <= 5:             lives= 6- x             print("you have",lives," attempts left")              results = engine(x, updt_list, correctguesses)             x = results[0]             updt_list = results[1]             correctguesses = results[2]             youwinflag = results[3]             if youwinflag:                 x = 6      def initialize_game():         wordtoguess=pick_a_word()         updt_list = buildwordlist(wordtoguess)         return updt_list      updt_list = initialize_game()     repeat(updt_list) 

Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -