Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #To expedite things, I simply had the computer determine if its answer was correct instead of prompting the user.
- #If desired, the if statements in the function Guesser() can be changed to prompt the user for a right/wrong response.
- def GetNumber():
- global SecretNumber
- try:
- SecretNumber = int(input("\nEnter a secret number between 1 and 100: "))
- except ValueError:
- print("That's not an integer. Try again.")
- GetNumber()
- if SecretNumber < 1 or SecretNumber > 100:
- print("That's not a number between 1 and 100. Try again.")
- GetNumber()
- GetNumber()
- NumberList = list(range(1,101))
- IndexStart = 0
- IndexEnd = len(NumberList)
- GuessCount = 0
- def Guesser():
- global IndexStart
- global IndexEnd
- global GuessCount
- GuessCount += 1
- IndexMidway = (IndexEnd + IndexStart) // 2 #Using // instead of / to ensure we get a whole number.
- print("\nMy guess is",IndexMidway)
- if IndexMidway == SecretNumber:
- print("I'm a winner! Your secret number is",SecretNumber)
- print("It took me",GuessCount,"guesses!")
- exit()
- elif SecretNumber < IndexMidway:
- print("Your secret number is LOWER than",IndexMidway)
- IndexEnd = IndexMidway
- print("I will try again, guessing numbers between",IndexStart,"and",IndexEnd)
- Guesser()
- elif SecretNumber > IndexMidway:
- print("Your secret number is HIGHER than",IndexMidway)
- IndexStart = IndexMidway
- print("I will try again, guessing numbers between",IndexStart,"and",IndexEnd)
- Guesser()
- Guesser()
Add Comment
Please, Sign In to add comment