422 Stimmen

Else-Klausel in der Python-Anweisung while

Ich habe festgestellt, dass der folgende Code in Python legal ist. Meine Frage ist, warum? Gibt es einen bestimmten Grund?

n = 5
while n != 0:
    print n
    n -= 1
else:
    print "what the..."

-2voto

Mansour.M Punkte 422

Soweit ich weiß, ist der Hauptgrund für das Hinzufügen von else zu Schleifen in jeder Sprache der Fall, wenn der Iterator in Ihrem Steuerelement nicht eingeschaltet ist. Stellen Sie sich vor, der Iterator befindet sich auf einem Server und Sie geben ihm ein Signal, um die nächsten 100 Datensätze abzurufen. Die Schleife soll so lange weiterlaufen, wie die Länge der empfangenen Daten 100 beträgt. Ist sie kleiner, soll sie noch einmal durchlaufen und dann beendet werden. Es gibt viele andere Situationen, in denen Sie keine Kontrolle über die letzte Iteration haben. Die Möglichkeit, in diesen Fällen ein else hinzuzufügen, macht alles viel einfacher.

-2voto

Rahul Negi Punkte 33

Angenommen, Sie müssen ein Element x in einer einzelnen verketteten Liste suchen

    def search(self, x):
        position = 1
        p =self.start
        while p is not None:
            if p.info == x:
                print(x, " is at position ", position)
                return True
            position += 1
            p = p.link
        else:
            print(x, "not found in list") 
            return False

Wenn also die while-Bedingungen fehlschlagen, wird else ausgeführt, ich hoffe, das hilft!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X