Kayo
Kayo

Reputation: 55

Why does my code skip input prompts after the second one?

I've been looking at it a while and any help is infinitely appreciated.

secret = "Meow"
guess = ""
limit = 1

while guess != secret and limit <= 5:
    if limit == 2:
        print("You have 4 guesses left!")
    elif limit == 3:
        print("You have 3 guesses left!")
    elif limit == 4:
        print("You have 2 guesses left!")
    elif limit == 5:
        print("You have 1 guess left!")

    if limit == 1:
        guess = input("What's the secret? OwO You have 5 guesses. ")
    elif limit <= 2:
        guess = input("What's the secret? OwO. ")

    limit += 1

print("You cheated! Or lost.")

When run, it does it's usually input attempt and after getting the question wrong once it says 5 attempts left and asks the input again, but after that it skips the input prompt and only says guesses left. Output with guesses:

What's the secret? OwO You have 5 guesses. idk man  
You have 4 guesses left!  
What's the secret? OwO. 2nd try?  
You have 3 guesses left!  
You have 2 guesses left!  
You have 1 guess left!  
You cheated! Or lost.  

Upvotes: 0

Views: 73

Answers (2)

Prathamesh
Prathamesh

Reputation: 1057

Here is a improvement to your code

secret = "Meow"
guess = ""
limit = 1

while guess != secret and limit <= 5:

    if limit == 1:
        guess = input("What's the secret? OwO You have 5 guesses. ")
    elif limit >= 2: #here was your mistake
        print("You have {0} guess left!".format(5-limit+1))
        guess = input("What's the secret? OwO. ")

    limit += 1

print("You cheated! Or lost.")

Upvotes: 2

Avinash Dalvi
Avinash Dalvi

Reputation: 9311

just make this changed :

elif limit >= 2:

secret = "Meow"
guess = ""
limit = 1

while guess != secret and limit <= 5:
    if limit == 2:
        print("You have 4 guesses left!")
    elif limit == 3:
        print("You have 3 guesses left!")
    elif limit == 4:
        print("You have 2 guesses left!")
    elif limit == 5:
        print("You have 1 guess left!")

    if limit == 1:
        guess = input("What's the secret? OwO You have 5 guesses. ")
    elif limit >= 2:
        guess = input("What's the secret? OwO. ")

    limit += 1

print("You cheated! Or lost.")

Upvotes: 2

Related Questions