Help with arrays
Stephen Fairchild
somebody at somewhere.com
Tue Aug 25 18:50:17 EDT 2009
Philip Semanchuk wrote:
>
> On Aug 25, 2009, at 6:14 PM, Gleb Belov wrote:
>
>> Hello! I'm working on an exercise wherein I have to write a Guess The
>> Number game, but it's the computer who's guessing MY number. I can get
>> it to work, but there's one obvious problem: the computer generates
>> random numbers until one of them corresponds to my number, but it will
>> often generate one number (eg. 4) numerous times, meaning it doesn't
>> know that this number is invalid. What I mean is, it will sometimes
>> use 37 tries to guess a number out of 1 - 9, which makes no sense,
>> since it should only take 9 tries, at most. I was trying to find a way
>> to make a dynamic list of all the numbers the computer generates in
>> the loop and then make it re-generate the number if the previous
>> number is present in the list, so it doesn't keep on generating 4 (as
>> an example). I don't know if that makes sense... Basically, we humans
>> know that once something is incorrect, there's no point in trying to
>> use it as the answer next time, because we already know it's
>> incorrect. How do I go about coding this in Python? I'm still quite
>> new to the language so any help will be appreciated...
>
> One cheap way to do it (not necessarily efficient) is to make a list
> of your possible guesses (e.g. range(1,10)), use random.shuffle() to
> put them in random order and then run through the guesses one at a time.
import random
import time
l = range(1, 10)
while l:
print l.pop(random.randint(0, len(l) - 1))
time.sleep(2)
--
Stephen Fairchild
More information about the Python-list
mailing list