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. :)

https://mail.python.org/archives/list/python-ideas@python.org/thread/EDNARFL2RGOE53SLWPTD5ZLJQOYSVDCR

On Tue, Mar 1, 2022 at 7:09 AM <lynneandal...@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-le...@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 topython-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived 
athttps://mail.python.org/archives/list/python-ideas@python.org/message/BYNJ6C45M2QW6BA7QILGWTYYCCGETKSV/
Code of Conduct:http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@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/QAGHJPBP72FBTC2GDGYY435JFUX3EJJF/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to