Hi.....I am a newbie...really confused with do while loop in python. Does it even exist?

        finished = "false"
        while finished != "true":
            for j in xrange(len(lis2)):
                  cenP2 = G[i+G0]
                   if ((cenP2 == 0) & (sigma2 > 0)  
                          finished = "false"
                          print 3 # test code never gets here
                         print 4

Sorry, I left out a few details caz its not important and just takes up space. My point is....how do I do this? I know this is not right, but is there a way?

Thanks a lot .....

11 Years
Discussion Span
Last Post by sneekula

No, there is no "do ... while" loop in Python. A properly constructed while loop can do the same.

If you have any problems, give us a simplified idea of what you want to accomplish. We will be glad to help!


I have a doubt in while loop that suppose i want to do one looping process to assign values, how I have to do.
For example:
Having one list like L1 =
need to do pop operation and assign value like,
z1 = L1.pop()
z2 = L2.pop()
z3 = L3.pop()
similarly upto length of the list. Please give a solution.


A properly constructed while loop can do the same.

Even a language with just if and goto constructs can do the same. However it is a matter of clarity and convenience if we have stopped using those 40 years ago.
None of the proposed solutions is as clear or elegant as what it could be if simply they added the do keywoard to Python.


There was a PEPĀ about this, https://www.python.org/dev/peps/pep-0315/ . It was discussed and rejected by Guido Van Rossum who gave the reason:

Please reject the PEP. More variations along these lines won't make the language more elegant or easier to learn. They'd just save a few hasty folks some typing while making others who have to read/maintain their code wonder what it means.

I support the while True ... break construct. It is even more general than the do ... while.

Apart from that, this is a veeeeeeeeeeeery old thread. Don't resurrect old threads, start your own !


The elegant thing about the while True loop is that you can break at a given point between statements.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.