Python Python Basics (2015) Number Game App Number Game Refinement

Hoessein Abd
Hoessein Abd
Python Web Development Techdegree Student 13,210 Points

Game doesn't run! No syntax errors.

Can anyone have a look? I followed Kenneth but whenever i try to run the game i don't get the prompt question but another "treehouse:~/workspace$" line.

here's my code:

import random 

def game():
    #generate a random number between 1 - 10 
    secret_num = random.randint(1, 10)
    guesses = 0

    while guesses < 10:
        try:
            #get a number guess from the player
            guess = int(input("Guess a number between 1 and 10: "))
        except ValueError:
            print("{} isn't ta number:".format(guess))
        else:      
            #compare guess to secret number
            if guess == secret_num:
                print("You got it:  the correct number was {}".format(secret_num))
                break
            elif guess < secret_num:
                  print("My number is higher than{}".format(guess))
            else: 
                print("My number is lower than{}".format(guess))
            guesses += 1
    else:             
        print("You didn't get it! My number was{}".format(secret_num)) 

    play_again = input("Do you want to play again? Y/n ")
    if play_again.lower() != 'n':   
        game()
    else:
        print("Thanks for playing, have a good day!")

2 Answers

Stuart Wright
Stuart Wright
41,066 Points

Yup, that code should work. You just need to call it:

game()
Stuart Wright
Stuart Wright
41,066 Points

It's difficult to tell because the first couple of lines of your code aren't formatted correctly, but it looks like your indentation might be off. Your second to last 'else:' statement does not line up with any 'if' statement, which looks like an error.

Edit to add: Just in case I'm wrong and your code is correct but just the formatting in the post messed up, I should also add that you need to call your function in order for the game to run. After your function definition, you need to call it using game(). Otherwise you've just defined a function but not told Python to execute the code inside it.