Python 3.7
Trying to make a number guessing game. Here is my code:
#This is the guess the number game!
import random
secretNumber = random.randint(0,20)
print('I am thinking of a secret number between 0 and 20, can you guess what it is in six tries or less?')
for guessTimes in range(1,7):
try:
guessNumber = int(input())
print(type(guessNumber))
print('Guess Number: ' +str(guessNumber))
except ValueError:
guessNumber = None
print('Secret Number: ' +str(secretNumber))
print('You have to give me a valid integer for your guess.', end = ' ')
if guessNumber and guessNumber < secretNumber:
print('You have guessed a number that is too low...')
elif guessNumber and guessNumber > secretNumber:
print('You have guessed a number that is too high...')
elif guessNumber and guessNumber == secretNumber:
print('Great job, you guessed the secret number in only ' +str(guessTimes)+ ' tries!')
print('You should go PRO!')
break
if guessTimes > 6:
print('Sorry, that was six tries and lots of fail, better luck next time!')
elif guessTimes == 1:
print('That is ' +str(guessTimes)+ ' failed attempt thus far, you have ' +str(6-guessTimes)+ ' chances remaining. Please try again.')
elif guessTimes > 1:
print('That is ' +str(guessTimes)+ ' failed attempts thus far, you have ' +str(6-guessTimes)+ ' chances remaining. Please try again.')
guessTimes += 1
continue
This all appears to work just fine for all values of guessNumber that are between 1 and 123,412,351. But for some reason, whenever I input 0 as a guessNumber, the code skips the line:
if guessNumber and guessNumber < secretNumber:
print('You have guessed a number that is too low...')
I'm sorry this isn't a super-relevant question, but I've been banging my head against this for a while now and can't figure out why that line doesn't evaluate to True when guessNumber == 0.