Heim > Artikel > Backend-Entwicklung > Verschachtelte Python-Schleifen
Mit der Python-Sprache können Sie eine weitere Schleife in einen Schleifenkörper einbetten.
Python für verschachtelte Schleifensyntax:
für iterating_var in sequence:
for iterating_var in sequence:
Anweisung(en)
Anweisung(en)
Python while-Schleife verschachtelte Syntax:
while-Ausdruck:
while-Ausdruck:
Anweisung(en)
Anweisung(en)
Sie können andere Schleifenkörper in den Schleifenkörper einbetten. Sie können beispielsweise eine for-Schleife in eine while-Schleife einbetten. Umgekehrt können Sie eine while-Schleife in eine for-Schleife einbetten.
Beispiel:
1. Nehmen Sie jeweils ein Element aus der ersten Liste und ein Element nach dem anderen aus der zweiten Liste und kombinieren Sie sie zu einer neuen Liste Alle Kombinationen
Liste1 = ['zi', 'qiang', 'xue', 'tang']
Liste2 = [1, 2]
new_list = []
für m in Liste1:
für n in Liste2:
new_list.append([m, n])
new_list drucken
Ergebnis:
[['zi', 1], ['zi', 2], ['qiang', 1], ['qiang', 2], ['xue ', 1], ['xue', 2], ['tang', 1], ['tang', 2]]
2. Nehmen Sie jeweils zwei aus einer Liste und finden Sie alle Kombinationen
Liste = [1, 2, 3, 4, 5]
length = len(List)
for x in range(0, length-1):
for y in range(x 1 , length) :
print List[x], List[y]
Ergebnis:
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
3. Das folgende Beispiel verwendet eine verschachtelte Schleife, um Primzahlen zwischen 2 und 20 auszugeben:
Analyse: Für eine Zahl n, wenn von 1 bis n ** 0,5 (Wurzel n) Alle Zahlen sind teilbar , dann ist die Zahl n eine Primzahl.
3.1 Verwenden Sie for zum Implementieren von
# -*- Codierung: utf-8 -*-
n = 20
für i in range(1, n):
für j in range(2, int(i**0.5)):
if i % j == 0:
break
else:
print i, 'ist eine Primzahl'
3.2 Verwenden Sie while, um
#!/usr/bin/python
# zu implementieren -* - Codierung: utf-8 -*-
i = 2
while(i < 20):
j = 2
while(j <= (i/j)):
if not(i%j): # Oder schreiben Sie if i % j == 0, wenn es eine Ganzzahldivision bedeutet
break
j = j 1
if (j > i/j):
print i, „ist eine Primzahl“
i = i 1
print „Auf Wiedersehen!“
Erklärung: i % j bedeutet, dass ich geteilt habe durch j den Rest. Für Zahlen ist der boolesche Wert, der 0 entspricht, falsch, und andere Werte sind nicht wahr (i % j), und die Bedingung kann nur festgelegt werden, wenn i % j 0 ist, was bedeutet, dass er durch ganze Zahlen geteilt werden kann .
Die obige Beispielausgabe ergibt:
2 ist eine Primzahl
3 ist eine Primzahl
5 ist eine Primzahl
7 ist eine Primzahl
11 ist eine Primzahl
13 ist eine Primzahl
17 ist eine Primzahl Nummer
Auf Wiedersehen!