I have use cases for "do exactly once".
Basically a sequence of actions which can be broken off (when something goes wrong and the whole process should be aborted, or when something succeeds and there is no need to try alternatives) at various points with `break`.  Thus avoiding multiple if...then indentation levels.
Of course it can be spelled as
    for _ in '1':
    for _ in ['once']:
etc. etc., so this is only a cosmetic need.
Best wishes
Rob Cliffe

On 01/03/2022 15:19, Eric Fahlgren wrote:
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 <lynneandallan@optusnet.com.au> 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 -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/2PM6QEZJAPE3H72GA6TJJIWNBT3Y3WLN/
Code of Conduct: http://python.org/psf/codeofconduct/

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/BYNJ6C45M2QW6BA7QILGWTYYCCGETKSV/
Code of Conduct: http://python.org/psf/codeofconduct/