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

a a
a a
1,101 Points

I cant seem to figure out what's wrong with this script. i tried to write what kenneth wrote

import random

# too high messeage
# too low message
# play again

def game():
  # ganerate a random number between 1 and 10
  secret_num = random.randint(1, 10)
  guesses = []

  while len(guesses) < 5:
    try:
      # get a number guess from the player
      guess = int(input("Guess a number between 1 and 10: "))
    except ValueError:
      print("{} isn't a number!".format(guess))
    else:
      # compare guess to secret number
      if guess == secret_num:
        print("You got it! My number was {}".format(secret_num))
        break
      elif guess < secret_num:
        print("My number is higher than {}".format(guesses))
      else:
        print("My number is lowerer than {}".format(guesses))
        guesses.append(guess)
  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("Bye!")

game()
a a
a a
1,101 Points
treehouse:~/workspacepython number_game.py                                          
 File "number_game.py", line 30                                                        
 play_again = input("Do you want to play again? Y/n ")
                                        ^                                                                      
SyntaxError: invalid syntax    

2 Answers

Jakob Hansen
Jakob Hansen
13,746 Points

Indentation is one of the problems you're having, and you should use elif unless it's the last check, you are using 3 else statements

Daniel Glover
Daniel Glover
1,782 Points

Should guesses be = {} instead of *[]?