Loop problem while generating a new value with random.randint()

Arnaud Delobelle arnodel at googlemail.com
Mon Feb 15 11:39:36 EST 2010


Jean-Michel Pichavant <jeanmichel at sequans.com> writes:

> Paulo Repreza wrote:
>> Greetings,
>>
>> I'm having problems with a little script that I'm trying to finish,
>> I don't know if I'm in the right track but I know somebody is going
>> to help me.
>>
>> The script:
>>
>> # Import modules random for function randint
>>
>> import random
>>
>> # Generating a constant.
>>
>> var = 65
>>
>> # Generating a random number.
>> ranum = random.randint(1,100)
>>
>> #Creating while loop. Stops until var == ranum
>> while var != ranum:
>>     if var == ranum:
>>         print var, 'equals to:', ranum
>>     else:
>>         print var, 'does not equal to:', ranum
>>
>> ########## End of Script ###########
>>
>>
>> What I'm trying to do is to print the new value that ranum generates
>> if the condition is not met. So far if you run the script it prints
>> the same value over and over again, making in an infinite loop. What
>> can I do in order to print out the new value generated every time
>> the condition is not met?
>>
>> Thanks!
>>
>> Paulo Repreza   
> in your script you generate the random number only once, no wonder it
> keep being the same value over & over.
>
> # Initialize ranum with a random number
> ranum = random.randint(1,100)
>
> #Creating while loop. Stops until var == ranum
> while var != ranum:
>    if var == ranum:
>        print var, 'equals to:', ranum
>    else:
>        print var, 'does not equal to:', ranum
>    ranum = random.randint(1,100) # generate a new number, that's the
> missing line in your script
>
> JM

And a more idiomatic way of writing this in Python would be, I guess:

import random

var = 65
while True:
    ranum = random.randint(1, 100)
    if var == ranum:
        print var, 'equals to:', ranum
        break
    else:
        print var, 'does not equal to:', ranum

(following up from a FU as I can't see the OP)

-- 
Arnaud



More information about the Python-list mailing list