Für Schleifen und mehrere Bedingungen

8

In C ++ ist es möglich zu sagen:

%Vor%

Sie müssen also die Anweisung "break" nicht verwenden.

In Python müssen Sie wohl schreiben:

%Vor%

Ich weiß, dass ich einen Generator schreiben kann, der den gleichen Code enthält, damit ich dieses Break-Ding verstecken kann. Aber ich frage mich, ob es eine andere Möglichkeit gibt, dieselbe Sache (mit der gleichen Leistung) zu implementieren, ohne zusätzliche Variablen oder While-Schleife zu verwenden.

Ich weiß, wir können sagen:

%Vor%

Ich versuche nur zu lernen, ob es möglich ist, mehrere Bedingungen in for-Schleifen zu verwenden.

Danke.

    
pocoa 26.05.2011, 04:39
quelle

5 Antworten

5
%Vor%

Natürlich können Sie dies auch ohne die Lambda-Funktion als

schreiben %Vor%

Jetzt sieht es für mich so aus, dass es die C-Version ist, die zusätzliche Variablen verwendet

Wenn Sie wirklich nur den gefundenen Variablensatz benötigen (und den Artikel nicht kennen müssen), verwenden Sie einfach

%Vor%     
John La Rooy 26.05.2011, 05:00
quelle
3

Da for Schleifen in Python über eine Sequenz statt über eine Bedingung iterieren, und a Mutationsaussage, die break ist notwendig, um früh auszusteigen. Mit anderen Worten, for in Python ist keine bedingte Schleife. Das Python-Pendant zu C ++ for wäre eine while Schleife .

%Vor%

Sogar in C ++ können for Schleifen als% überschrieben werden co_de% loops , wenn sie keine while -Anweisung enthalten.

%Vor%     
outis 26.05.2011 04:46
quelle
2

if ist nicht die einzige Anweisung, um eine else -Klausel in Python zu erhalten:

%Vor%

while und try haben auch else -Klauseln.

    
Ignacio Vazquez-Abrams 26.05.2011 04:47
quelle
1

so etwas?

%Vor%

BEARBEITEN:

%Vor%     
Vusak 26.05.2011 04:48
quelle
0

Ja, das kannst du!

%Vor%

Aber es ist doof, wie Sie die Schleife fortsetzen, auch nachdem x gefunden wurde, also tun Sie es nicht. : -)

    
Lennart Regebro 26.05.2011 08:27
quelle

Tags und Links