Mikhail V <mikhail...@gmail.com>: > On Wed, May 9, 2018 at 8:50 AM, Chris Angelico <ros...@gmail.com> wrote: >> On Wed, May 9, 2018 at 3:36 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: >>> while True: >> >> Why is it that "while True" is idiomatic Python for a non-infinite >> loop? Is it merely because Python currently has no other way to spell >> certain loops? Surely it would be more idiomatic to encode the loop's >> termination condition in the header, if it were possible. > > Don't know about 'idiomatic', but the above spelling is exactly what i > tend to use lately for almost all loops. It noticeably reduces > cognitive load. Though lately more often i prefer "while 1:" so it > makes the nodes more lightweight and distinct from the rest lines. And > not even official declaration of "idiomatic" as something else will > make me switch back.
How about: while ...: do_stuff() if done: break do_more_stuff() where ... is the Ellipsis. Joking aside, to answer Chris's question, of course you can use a real condition with "while". However, you shouldn't force it or try to avoid "while True". It turns out "while True" is the most natural choice in about half of the while loops. Marko -- https://mail.python.org/mailman/listinfo/python-list