+ 1

What are errors in this python code to build a guessing game? Could you please explain?Thanks!!

secret_word="girraffe" guess=" " guess_count=0 guess_limit=3 out_of_guesses=False while guess!=secret_word: if guess_count<=guess_limit: guess=input("enter guess:") else: out_of_guesses=True if out_of_guesses: print("you lose") else: print("you win")

15th Jul 2020, 8:22 PM
Somraj Roy
5 Answers
+ 1
I saw quite a few possible mistakes. I've edited it and below is a working solution. Feel free to ask any questions. https://code.sololearn.com/c628R01UvGGw/?ref=app
15th Jul 2020, 8:35 PM
benjamin
+ 1
So whenever user enters a right input it doesn't enters while loop and the program works fine ,but if users enter a wrong input while loop runs and then guess count is checked ,so you should increase guess_count after every input ,otherwise guess_count<guess_limit will never work and user will be able to enter any amount of wrong inputs till the right word ,also else statement will never run, now after 3 wrong inputs if guess_count<guess_limit becomes false and enters else statement ,so you gotta put a break keyword after out_of_guesses=True to break out of while loop because even if statement won't ask for further inputs ,loop will keep running . Here is the right code , secret_word="girraffe" guess=" " guess_count=0 guess_limit=3 out_of_guesses=False while guess!=secret_word: if guess_count<guess_limit: guess=input("enter guess:") guess_count+=1 else: out_of_guesses=True break if out_of_guesses: print("you lose") else: print("you win")
15th Jul 2020, 8:49 PM
Abhay
Abhay - avatar
+ 1
In case user entered girraffe in capital words,you can even also do something like input().lower() like Benjamin did to make sure it's all small letters but that's only if want to
15th Jul 2020, 8:53 PM
Abhay
Abhay - avatar
0
In line 8,an EOF error is shown,why is it so?
16th Jul 2020, 8:14 AM
Somraj Roy
0
The code playground expects all input when you start the program. Put each guess on a new line and make sure you have put 3 guesses all at once (or put 'giraffe as one of your guesses).
16th Jul 2020, 8:17 AM
benjamin