Bis zum letzten Mal habe ich "sequentiell / verzweigt" aus "sequentiell / verzweigt / iteriert" erklärt. Dieses Mal werde ich "Wiederholung" erklären. "Wiederholen" bedeutet "den gleichen Vorgang mehrmals ausführen" Es kann ausgedrückt werden, aber für denselben Prozess können unterschiedliche Werte verwendet werden Genau genommen sind sie nicht der gleiche Prozess.
range Wenn Sie es beliebig oft wiederholen möchten, verwenden Sie ** für i in range () **.
for_explain1.py
for i in range(5):
print("{0}".format(i))
Die Variable i wird im Programm als "Schleifenzähler" bezeichnet. Dieses Programm gibt einen Schleifenzähler aus, aber das Ausführungsergebnis ist wie folgt. 0 1 2 3 4
Durch Schreiben des Bereichs (X) speichert der Wert des Schleifenzählers 0 bis X-1 und iteriert X-mal. Der Wert des Schleifenzählers kann bei der Verarbeitung des Programms verwendet werden.
Sie können den Startwert des Schleifenzählers einstellen, indem Sie den Bereich (X, Y) schreiben. Der Wert des Schleifenzählers speichert X bis Y-1 und iteriert Y-X-mal.
for_explain2.py
for i in range(1,10):
print("{0}".format(i))
1 2 3 4 5 6 7 8 9 Das Ausgabeergebnis ist wie oben.
enumurate In vielen Fällen möchten Sie die Elemente der Liste einzeln abrufen und jedes Element einzeln verarbeiten. Verwenden Sie in diesem Fall enumurate.
for_explain3.py
a = ["a","b","c","d","e"]
for idx,elem in enumerate(a):
print("{0} = {1}".format(idx,elem))
0 = a 1 = b 2 = c 3 = d 4 = e Das Ausgabeergebnis ist wie oben. Nach für können zwei Variablen gesetzt werden. Die erste Variable wird zum Schleifenzähler (idx im obigen Programm) Die letztere Variable ist das Element (Element im obigen Programm), das dem Schleifenzähler in der Liste entspricht.
for_explain4.py
a = ["a","b","c","d","e"]
for idx in enumerate(a):
print("{0}".format(idx))
(0, 'a') (1, 'b') (2, 'c') (3, 'd') (4, 'e') Wenn nach for nur eine Variable gesetzt ist, enthält die Variable den Schleifenzähler und das entsprechende Element.
Während die for-Schleife "eine feste Anzahl von Malen wiederholt", die while-Schleife Es wird verwendet, wenn "Wiederholen, während bestimmte Bedingungen erfüllt sind".
while_explain.py
a = ["ok","ok","ok","ng","ok"]
i = 0
while a[i] == 'ok':
print("a[{0}] is ok".format(i))
i = i + 1
Das Ausgabeergebnis ist wie folgt. a[0] is ok a[1] is ok a[2] is ok Zu Beginn des iterativen Prozesses wird bestimmt, ob a [i] "ok" ist, und wenn es falsch ist, endet der iterative Prozess. Nach einem [3] wird es nicht verarbeitet.
Stellen Sie bei Verwendung der while-Schleife sicher, dass der Schleifenzähler so geändert wird, dass er nicht zu [Endlosschleife] wird (http://e-words.jp/w/E784A1E99990E383ABE383BCE38397.html). Beachten Sie jedoch zu diesem Zeitpunkt die Einrückung des Schleifenzählers. Das folgende Programm ist das falsche Programm.
while_explain_IL.py
a = ["ok","ok","ok","ng","ok"]
i = 0
while a[i] == 'ok':
print("a[{0}] is ok".format(i))
i = i + 1
Unzulässige Inschrift (i = i + 1 wird in der while-Schleife nicht gesetzt) In der while-Schleife ändert sich i nicht von 0, sodass eine Endlosschleife auftritt.
Der Prozess zum "Beenden des iterativen Prozesses" ist unterbrochen, und der Prozess zum "Beenden dieser Iteration und Starten des nächsten iterativen Prozesses" wird fortgesetzt. Sie können entweder for-Schleife oder while-Schleife verwenden.
break_continue_explain.py
i = 0
while i < 10:
i = i + 1
if i < 3:
continue
print("i is {0}".format(i))
if i == 5:
break
print("final i is {0}".format(i))
Das Ausgabeergebnis ist wie folgt. i is 3 i is 4 i is 5 final i is 5 Im Programm haben Fortsetzen und Unterbrechen die folgenden Bedeutungen.
if i < 3: continue
"Wenn i kleiner als 3 ist, führen Sie den nächsten iterativen Prozess aus, ohne nachfolgende Prozesse auszuführen." Wenn der Wert von i 0, 1 oder 2 ist, wird daher kein Wert auf dem Bildschirm ausgegeben.
if i == 5: break Bedeutet "Wenn i 5 ist, endet der iterative Prozess", also ist die letzte Ausgabe i 5.
Wenn Sie das in if am Ende der Schleifenanweisung verwendete else schreiben, können Sie es als "Verarbeitung, wenn die Schleife endet" verwenden. Sie können entweder for-Schleife oder while-Schleife verwenden.
loop_else.py
for i in range(3):
print("{0}".format(i))
else:
print("for loop done")
while i < 5:
i = i + 1
print("{0}".format(i))
else:
print("while loop done")
Das Ausführungsergebnis ist wie folgt. 0 1 2 for loop done 3 4 5 while loop done
Das folgende Programm gibt jedoch das gleiche Ausführungsergebnis zurück.
loop_else2.py
for i in range(3):
print("{0}".format(i))
print("for loop done")
while i < 5:
i = i + 1
print("{0}".format(i))
print("while loop done")
Einige Programmierer, die Python tatsächlich täglich verwenden, verwenden sonst nichts in Schleifen.
Weiter: Python-Grundkurs (10 Einschlüsse)
Recommended Posts