As you probably suspect, yes, it comes up every couple of years.  Here's one of the recent threads (there are more, just search for 'until' in the archives), that might give you some ideas for how this discussion will progress. :)

On Tue, Mar 1, 2022 at 7:09 AM <> wrote:
Has anyone considered the idea of adding a "do at least once" loop to Python? This is frequently referred to as a do ... while or repeat ... until.

At the moment, it's a bit of a hack to achieve this in that we do a 'while True: ( do thing ; if cond: ( break ) )'. Since I don't know how to format these messages, I've used '{' for  line-beak-and-indent, ')' for line-break-and-dedent, and ';' for line-break-keeping-same-indent-level.

My initial thoughts are that it would be reasonably easy to add a 'repeat: ( do thing ) until condition' which would far better specify intent of the loop (despite the possibility of break, while-true loops give no indication that it's not an infinite loop.

And using repeat...until will ensure whoever had to add the code to the Python interpreter wouldn't have any clashes with the current while loop.

Thoughts, anyone? Anyone? Bueller? :-)
Python-ideas mailing list --
To unsubscribe send an email to
Message archived at
Code of Conduct: