Warum hat Python keine "Do While" -Schleife wie viele andere Programmiersprache, wie C?Python: Warum gibt es keine while-Schleife in Python
Beispiel: In der C haben wir tun while-Schleife wie folgt:
do {
statement(s);
} while(condition);
Warum hat Python keine "Do While" -Schleife wie viele andere Programmiersprache, wie C?Python: Warum gibt es keine while-Schleife in Python
Beispiel: In der C haben wir tun while-Schleife wie folgt:
do {
statement(s);
} while(condition);
Es gibt keine do...while
Schleife ist, weil es keine nette Art und Weise ist eine zu definieren, die in der von jedem anderen verwendet statement: indented block
Muster passt Python zusammengesetzte Aussage. Solche Vorschläge, solche Syntax hinzuzufügen, haben nie eine Übereinstimmung erreicht. Auch
ist es wirklich einen Notwendigkeit ein solches Konstrukt zu haben, nicht, wenn Sie gerade tun:
while True:
# statement(s)
if not condition:
break
und haben genau die gleiche Wirkung wie eine C do { .. } while condition
Schleife.
Siehe PEP 315 -- Enhanced While Loop:
Abgelehnt [...] weil keine Syntax herausgestellt, dass mit folgenden Form konkurrieren könnte:
while True: <setup code> if not <condition>: break <loop body>
Eine Syntax Alternative zu dem in dem PEP vorgeschlagen wurde gefunden für eine grundlegende Do-While-Schleife, aber es hat wenig Unterstützung, weil die Bedingung war an der Spitze:
do ... while <cond>: <loop body>
oder, wie Guido van Rossum put it:
den PEP Bitte abzulehnen. Weitere Variationen entlang dieser Linien werden die Sprache nicht eleganter oder einfacher zu lernen machen. Sie würden nur ein paar hastige Leute speichern, die eintippen, während sie andere machen, die ihren Code sich wundern müssen, was es bedeutet.
Stand * Abgelehnt *: https://www.python.org/dev/peps/pep-0315/ –
Mögliche Duplikat [in Python eine do-while-Schleife emulieren?] (Http: // Stackoverflow. com/questions/743164/emulate-a-do-while-schleife-in-python) – miradulo
Zur Erinnerung: Der Link von Martijn sieht nicht sehr meinungsorientiert aus: "Nachfolgende Bemühungen, die PEP im April 2009 wiederzubeleben nicht Treffen mit Erfolg, weil keine Syntax entstand, die könnte konkurrieren ... " –