Почему нет цикла do while в python
почему Python не имеет цикла "do while", как и многие другие языки программирования, такие как C?
пример : в C у нас есть цикл while, как показано ниже:
do {
statement(s);
} while( condition );
1 ответов
нет do...while
цикл, потому что нет хорошего способа определить тот, который вписывается в statement: indented block
шаблон, используемый каждым другим составным оператором Python. Поскольку такие предложения по добавлению такого синтаксиса никогда не достигали согласия.
и на самом деле нет нужно иметь такую конструкцию, а не когда вы можете просто сделать:
while True:
# statement(s)
if not condition:
break
и имеют тот же эффект, что и C do { .. } while condition
петли.
посмотреть PEP 315 -- расширенные While Loop:
отклонено [...] потому что не появился синтаксис, который мог бы соревнуйтесь со следующей формой:
while True: <setup code> if not <condition>: break <loop body>
найдена синтаксическая альтернатива предложенной в ОПТОСОЗ основной цикл do-while, но он получил небольшую поддержку, потому что условие было вверху:
do ... while <cond>: <loop body>
или как Гвидо ван Россум сказал это:
пожалуйста, отклоните PEP. Больше вариации в этом направлении не сделают язык более элегантный или более простой в освоении. Они просто спасут несколько поспешных люди некоторые набрав, делая другие, которые должны читать / поддерживать свой код интересно, что это значит.