On Thursday, February 14, 2013 5:19:51 PM UTC-7, eli m wrote: > On Thursday, February 14, 2013 4:09:37 PM UTC-8, Oscar Benjamin wrote: > > > On 14 February 2013 23:34, eli m <techgeek...@gmail.com> wrote: > > > > > > > I want to make a guess the number game (Which i have), but i want to make > > > the computer play the game against itself. How would i do this? > > > >
> > > > > > > > Your question would make more sense if you would show your program and > > > > > > also explain how you would like the output to look when the computer > > > > > > played itself. > > > > > > > > > > > > > > > > > > Oscar > > This is my code: > > > > #Guess the number game > > import random > > run = 0 > > while run == 0: > > print ("I am thinking of a number between 1 and 100") > > num = random.randint(1, 100) > > num = int(num) > > guesses = 0 > > guessestaken = 0 > > while guesses == 0: > > try: > > guess = raw_input("Your guess:") > > guess = int(guess) > > guessestaken = (guessestaken) + 1 > > guessestaken = int(guessestaken) > > if guess == (num): > > print 'Correct! It took you', int(guessestaken), 'guesses!' > > playagain = raw_input("Do you want to play again?") > > if playagain == "yes": > > guesses = 1 > > if playagain == "no": > > run = 1 > > if guess > num: > > print ("My number is lower") > > if guess < num: > > print ("My number is higher") > > except TypeError, err: > > print ("Not a valid number") > > > > I would like it to show the computer guessing the numbers. Hello. I think you code is Python 2.7. My solution uses Python 3 but I can help you convert it if the solution is what you are looking for. My approach as to create a class that tries to guess the right number. This code also eliminates raw_input. I didn't know how important having it respond via raw_input is to you. Code follows: import random import sys class Guesser(): def __init__(self): self.low = 1 self.high = 100 def getRand(self,x,y): num = random.randint(x,y) return num def guess(self,guess,boundary): if boundary == ">": self.low = guess elif boundary == "<": self.high = guess else: self.low = 1 self.high = 100 return self.getRand(self.low,self.high) def playagain(self): choice = ['Y','N'] return random.choice(choice) run = 0 while run == 0: guess=1 guesses=0 guessestaken = 0 comp = Guesser() num = comp.getRand(1,100) result = "" print ("I am thinking of a number between 1 and 100") while guesses == 0: guessestaken += 1 try: guess = comp.guess(guess,result) # replaces input except: print("Unexpected error:", sys.exc_info()[0]) raise print("Your guess:", guess) if guess == num: print('Correct! It took you', guessestaken, 'guesses!') guesses = 1 elif guess > num: print("My number is lower") result = "<" else: print("My number is higher") result = ">" print("Do you want to play again?") playagain = comp.playagain() # replaces input print(playagain) if playagain == "N": run = 1 Please let me know if you have questions or would like to discuss this solution further. Cheers! vduncan -- http://mail.python.org/mailman/listinfo/python-list