import math def createList(num): outList = [] for i in range(1, num + 1): outList.append(i) print(outList) return outList print("Number Guessing Program") print() print("I can guess any number you think of") print("All you have to do is tell me 'Higher' or 'Lower' each time") print() numbers = int(input("How many numbers do you want to guess from? (20 is from 1 to 20 etc...) ")) theList = createList(numbers) print() print("So, think of a number between 1 and", numbers) print() input("Press Enter to let me start guessing your number") found = False guesses = 0 while found == False: guess = theList[math.ceil(len(theList)/2)-1] print() print("I guess",guess) check = input("Am I right? (y/n) ").upper() guesses = guesses + 1 if check == "Y": found = True else: check = input("Do I need to guess Higher (H) or Lower (L)? ").upper() if check == "H": print("I need to guess higher") start = guess + 1 end = theList[len(theList) - 1] elif check == "L": print("I need to guess lower") start = theList[0] end = guess - 1 theList.clear() for i in range(start, end + 1): theList.append(i) if len(theList) == 1: guess = theList[math.ceil(len(theList)/2)-1] print("The number is", guess) found = True guesses = guesses + 1 print() print("I got it in", guesses, "guesses")