Jean-Michel Pichavant <jeanmic...@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 -- http://mail.python.org/mailman/listinfo/python-list