0

Sorry, i'm new to python. I saw a question for this, but it didn't work when i tried to put it in my code. Right now, it wants a number. if you put in a letter or anything else, it breaks. how can i make it say "not a valid answer" if you put in a letter?

import time

guesses_made = 0

name = input('Hello! What is your name?\n')

number = random.randint(1, 20)
print ('Well, {0}, I am thinking of a number between 1 and 20.'.format(name))

while guesses_made < 5:

    guess = int(input('Take a guess: '))

    guesses_made += 1

    if guess < number:
        print ('Your guess is too low.')

    if guess > number:
        print ('Your guess is too high.')

    if guess == number:
        break

if guess == number:
    print ('Good job, {0}! You guessed my number in {1} guesses!'.format(name, guesses_made))
else:
    print ('Nope. The number I was thinking of was {0}'.format(number))
Take12
  • 21
  • 1
  • 3
  • Just wrap `guess = int(input('Take a guess: '))` in try, except block and continue on ValueError https://docs.python.org/3/tutorial/controlflow.html – Raymond_90 Sep 09 '21 at 19:47
  • It's kind of scuffed but the try and except worked, i just had to shift around and write some new stuff. thanks a lot :D – Take12 Sep 10 '21 at 02:09

0 Answers0