8. Your own while/else loop. Seems to have flawed instructions?


14.8 Your own while/else loop

It seems that these instructions are flawed or maybe I'm not following them correctly, please tell me if I didn't.

In this exercise they want me to create a guessing game. Here i followed all the instructions and it is step 5 that makes my code behave weirdly.

Step 5: Use an else: case after your while loop to print You lose.

I naturally put the else case inside of the if part of my code because that made the most sense to me. When I ran my code it all worked perfectly but it still gave me an error message saying I should put the else case inside of the while case. So I did. The only instructions I got was to print 'You lose' when the while statement is false but its never going to be false because the only way that guesses_left go down is when I win and when I win the while case is going to break either way. So this makes it so its going to ask the same question every time until I guess right. Why would this lesson want me to have a guesses_left variable but not include it well in the code? Just call me out if I missed something super obvious or if I'm just stupid.

from random import randint

# Generates a number from 1 through 10 inclusive
random_number = randint(1, 10)

guesses_left = 3
# Start your game!
while guesses_left > 0:
    guess = int(raw_input("Your guess: "))
    if guess == random_number:
        print 'You win!'
        guesses_left -= 1
    print "You lose."


This line needs an else: above it.


Oh that makes sense. But I must say that the instructions on this assignment was written in a weird order in that case. Or maybe I'm just incredibly stupid and in that case I apologize for my ignorance.


The only 'stupid' people I know have chosen to be so by not interrogating and empathizing. They are what we commonly call, 'the blind leading the blind'. No sense in beating up on yourself.


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.