mercredi 23 août 2017

Output response if the input contains no numbers in Python

I've tried a for/except but I couldn't get it to work

Here's the code:

#This is a guess the number game.
import random
secretNumber = random.randint(1, 20)
print('I am thinking of a number between 1 and 20.')
# Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
    print('Take a guess.')
    guess = int(input())
    if guess < secretNumber:
        print('Your guess is too low.')
    elif guess > secretNumber:
        print('Your guess is too high.')
    else:
        break # This condition is the correct guess!
if guess == secretNumber:
    print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
    print('Nope. The number I was thinking of was ' + str(secretNumber))

~~~~ obviously if I enter a string it won't satisfy any of the criteria and it'll just break with an error. I don't want it to break with an error. what do I do? the error is (when responding with the word "test" instead of a number):

Traceback (most recent call last):
 line 8, in <module>
    guess = int(input())
ValueError: invalid literal for int() with base 10: 'test'




Aucun commentaire:

Enregistrer un commentaire