Unterscheiden mehrerer Austrittspunkte in der Schleife

9

Ich habe Python Vortrag von Raymond Hettinger auf Youtube angeschaut . Und er zeigte den richtigen Weg, um die Schleife zu verlassen:

%Vor%

Ich verstehe nicht, warum ich mich mit Else-Anweisung beschäftigen soll und nicht nur:

%Vor%

Fehle ich etwas oder ist es einfach eine gute Idee, diese else / break-Anweisung aus irgendeinem Grund hinzuzufügen?

    
user8856277 05.11.2017, 18:01
quelle

3 Antworten

5

Verkürzte Antwort: Sobald Sie return verwenden, haben Sie keine Funktion mehr. Pause bedeutet, dass der Code weiterhin ausgeführt wird und Sie weitere Dinge hinzufügen können. Sie sind also in Ihrem Beispiel richtig, aber was, wenn Sie mehr Dinge tun möchten, wenn nichts gefunden wurde:

Fehler melden:

%Vor%

Oder schreibe in eine Datei:

%Vor%

Weiterentwickeln (@Joe Iddon):

Sie möchten vielleicht auch weitermachen:

%Vor%

Also für diesen kleinen Zweck war es nicht notwendig. Aber wenn Sie etwas darauf aufbauen, kann die else-Klausel nützlich sein.

    
Anton vBR 05.11.2017 20:03
quelle
0

Ich denke, das Beispiel war zu kurz und die "warum stören?" Frage ist in diesem Fall völlig logisch.

Wie auch immer der gefundene Wert weiterverarbeitet wurde, der Unterschied wäre offensichtlich (erfordert aber auch mehr Präsentationszeit)

Pythonischer Weg:

%Vor%

Ohne den else - Code wird in der Suchschleife angezeigt. Auch der Code ist stark nach rechts eingerückt.

%Vor%

Alternativ ist der Code, der eine Flagge benutzt - das Beispiel, mit dem Herr Hettinger angefangen hat - auch schlechter:

%Vor%     
VPfB 05.11.2017 20:15
quelle
-2

Nur für Ihren eigenen, um ein guter Programmierer zu sein, fügen Sie immer die Else-Anweisung hinzu, um weitere Probleme zu vermeiden. Wenn Sie logisch denken, wenn es eine "if" -Anweisung gibt, gibt es IMMER eine "else" -Anweisung. Fügen Sie es einfach hinzu, um Ihren Code zu optimieren und ein guter Coder zu sein. Auch in Live-Systemen ist es besser, Fehler zu vermeiden, wenn Sie das Programm nicht schließen möchten. Nur ein Gedanke;)

Bearbeiten Stimmt, Sie müssen das else mit der "if" -Anweisung natürlich in Verbindung bringen.

Vielleicht überprüfen Sie diesen Beitrag: Ссылка

    
An0n 05.11.2017 19:46
quelle

Tags und Links