Your own while/else


#1



I'm getting an invalid syntax error where python seems to believe that I shouldn't finish my if condition with a colon. What am I doing wrong?


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!'
        break;
    guesses_left -= 1
    #print "You have ", str(guesses_left), 'guesses left'
else:
    print 'You lose.'


#2

look at your parentheses on line 9


#3

Thanks! :slight_smile: Why does that create a line 10 error - is it because of using guess on line 10, or that the incorrect use of parentheses only shows up a syntax error on the subsequent line?


#4

because this is perfectly valid:

print int(
  "5"
)
print "test"

so the problem arises on line 10 when python thinks you are doing the int cast over multiply lines, but then it turns out you don't. so it throws an error on line 10


#5

7 posts were split to a new topic: [solved] your own while else


#6

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