Why won't my python code run properly?
Question: My python code is the following but it won't work.

    
    
    import random
    
    secret = random.randint (1, 99)
    guess = 0
    tries = 0
    
    print "AHOY! I'm the Dread Pirate Oliver and I have a secret!"
    print "I will tell you where my treasure is buried if you can guess the number that I'm thinking of."
    print "It is a number from 1 to 99. I'll give you 6 tries."
    
    while guess != secret and tries < 6:
        guess = input ("What's yer guess? ")
        if guess < secret:
            print "Too low ye scurvy dog!"
        elif guess > secret:
            print "Too high, landlubber!"
        tries = tries + 1
    
    if guess == secret:
        print "Avast! Ye got it! Found ma secret number, ye did!"
        print "THE FIRST WORD IS: Awesome"
    else:
        print "No more guesses! Better luck next time, Matey!"
        print "Ma secret number wuz", secret
    raise SystemExit()
    
    import random
    
    secret = random.randint (1, 99)
    guess = 0
    tries = 0
    
    print "AHOY THERE!"
    print "ME AGAIN"
    print "I will tell you the second word if you can guess the number that I'm thinking of."
    print "It is a number from 1 to 99. I'll give you 6 tries."
    
    while guess != secret and tries < 6:
        guess = input ("What's yer guess? ")
        if guess < secret:
            print "Too low ye scurvy dog!"
        elif guess > secret:
            print "Too high, landlubber!"
        tries = tries + 1
    
    if guess == secret:
        print "Avast! Ye got it! Found ma secret number, ye did!"
        print "THE SECOND WORD IS: Land"
    else:
        print "No more guesses! Better luck next time, Matey!"
        print "Ma secret number wuz", secret
    raise SystemExit()    
    
    import random
    
    secret = random.randint (1, 3)
    guess = 0
    tries = 0
    
    print "AHOY! One more thing"
    print "It is a number from 1 to 3. I'll give you 1 try."
    
    while guess != secret and tries < 1:
        guess = input ("What's yer guess? ")
        if guess < secret:
            print "Too low ye scurvy dog!"
        elif guess > secret:
            print "Too high, landlubber!"
        tries = tries + 1
    
    if guess == secret:
        print "Avast! Ye got it! Found ma secret number, ye did!"
        print "It's buried in the sand at 36 degrees North, 48 degrees east."
    else:
        print "No more guesses! Better luck next time, Matey!"
        print "Ma secret number wuz", secret
    raise SystemExit()
    import random
    
    secret = random.randint (1, 99)
    guess = 0
    tries = 0
    print "Congratz. You won!"
    

In the raise SystemExit() part, I want the person to not be able to continue
if they didn't guess the last bit. It doesn't even start, but when I take out
the raise SystemExit(), it works but it keeps going, even if they didn't guess
it correctly. What do I put instead to do what I want?


Answer: This line should be indented so that it is part of the else block, otherwise
it will always be executed even if the guess is correct:

    
    
    raise SystemExit()
    

It might also be better to call `sys.exit()` instead.

Also if you want to do something twice, instead of copying and pasting your
code you should create a function and call it twice:

    
    
    def play():
        # ...
    
    number_of_games = 2
    for i in range(number_of_games):
        play()
    

