Wie kann ich eine While-Schleife anhalten?

8

Ich habe eine while loop in einer Funktion geschrieben, weiß aber nicht, wie ich sie stoppen kann. Wenn es seinen Endzustand nicht erreicht, bleibt die Schleife für immer bestehen. Wie kann ich es stoppen?

%Vor%     
NONEenglisher 15.12.2008, 14:35
quelle

4 Antworten

14

füge deinen Code einfach richtig ein:

%Vor%

Sie müssen verstehen, dass die Anweisung break in Ihrem Beispiel die Endlosschleife beendet, die Sie mit while True erstellt haben. Wenn also die Abbruchbedingung True ist, wird das Programm die Endlosschleife verlassen und mit dem nächsten eingerückten Block fortfahren. Da in Ihrem Code kein nachfolgender Block vorhanden ist, endet die Funktion und gibt nichts zurück. Also habe ich Ihren Code korrigiert, indem ich die break -Anweisung durch eine return -Anweisung ersetzt habe.

Wenn Sie Ihrer Idee folgen, eine Endlosschleife zu verwenden, ist dies der beste Weg, sie zu schreiben:

%Vor%     
Mapad 15.12.2008, 14:37
quelle
8
%Vor%     
Joel Coehoorn 15.12.2008 14:38
quelle
2

Der Operator is in Python tut wahrscheinlich nicht, was Sie erwarten. Statt dessen:

%Vor%

Ich würde es so schreiben:

%Vor%

Der Operator is testet die Objektidentität, was etwas ganz anderes ist als die Gleichheit.

    
Greg Hewgill 15.12.2008 18:03
quelle
0

Ich würde es wie folgt mit einer for-Schleife machen:

%Vor%     
Suraj 16.12.2008 19:03
quelle

Tags und Links