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

Jean-Michel Pichavant jeanmichel at sequans.com
Mon Feb 15 11:17:39 EST 2010


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




More information about the Python-list mailing list