Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJeremiah Tammilton
1,355 PointsIs the code of the video wrong?
When downloading the project zip, there is a mistake when trying to play again, got:Traceback (most recent call last): File "number_game.py", line 33, in <module> game() File "number_game.py", line 27, in game play_again = input("Do you want to play again? Y/n ") File "<string>", line 1, in <module> NameError: name 'n' is not defined
Also, when entering something that isn't a number, got: Traceback (most recent call last): File "number_game.py", line 33, in <module> game() File "number_game.py", line 12, in game guess = int(input("Guess a number between 1 and 10: ")) File "<string>", line 1, in <module> NameError: name 'd' is not defined
What is wrong?
2 Answers
Anibal Marquina
9,523 PointsHi Jeremai Apparently, the except statement in the try block is failing. Specifically the format() method. Try removing it as in the code below....
import random
def game():
secret_num = random.randint(1, 10)
guesses = []
while len(guesses) < 5:
try:
guess = int(input("Guess a number between 1 and 10: "))
except ValueError:
print("That isn't a number, you must guess a number!") #------>Change the print argument
#print("{} that isn't a number!".format(guess)) ------> Coment this out
else:
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(guess))
else:
print("My number is lower than {}".format(guess))
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()
valeriabrigatti
20,820 PointsI got the same error. I did the correction you suggests but it still doesn't work.
Traceback (most recent call last): File "number_game.py", line 34, in <module> game() File "number_game.py", line 28, in game play_again = input("Do you want to play again? Y/n") File "<string>", line 1, in <module> NameError: name 'n' is not defined