Dec-06-2017, 09:14 AM
You were so close. Just need to keep the flow in mind. I've moved things around a little and used a couple of while True loops, one for replaying and the other for guessing.
I also moved the test of whether or not the guess is in range to the first rather than last test before success as a number below 1 is out of range but will also be True on the guess < n test.
https://repl.it/@gruntfutuk/MassiveScalyBluejay
I also moved the test of whether or not the guess is in range to the first rather than last test before success as a number below 1 is out of range but will also be True on the guess < n test.
https://repl.it/@gruntfutuk/MassiveScalyBluejay
import random affirmation = ['yes', 'y', 'ok'] while True: n = random.randint(1, 100) tries = 0 while True: response = input("Please enter a number from 1 to 100 (enter to exit): ") if not response: break if not response.isdigit(): print("That wasn't a valid response. Please try again.") continue guess = int(response) tries += 1 points = 100 - tries if guess < 1 or guess > 100: print("Number out of range. Please enter a number within range of 1 to 100") elif guess < n: print ("\nNumber is bigger than the one you typed.") print("Please try again. ", end='') elif guess > n: print ("\nNumber is smaller than the one you typed") print("Please try again. ", end='') else: print ("\nYou found it after", tries," and you won ",points," points") break word = input('Would you like to play again? (Yes/No): ') if not word.lower() in affirmation: break
I am trying to help you, really, even if it doesn't always seem that way