Geschachtelte WHILE-Schleifen in Python
Ich bin ein Anfänger mit Python und versuchen Sie einige Programme. Ich habe so etwas wie die folgende WHILE-loop-Konstrukt in Python (nicht exakt).
IDLE 2.6.4
>>> a=0
>>> b=0
>>> while a < 4:
a=a+1
while b < 4:
b=b+1
print a, b
1 1
1 2
1 3
1 4
Ich nehme an, dass die äußere Schleife, um durch 1,2,3 und 4. Und ich weiß, ich kann dies mit der FOR-Schleife wie diese
>>> for a in range(1,5):
for b in range(1,5):
print a,b
1 1
1 2
.. ..
.. .. // Other lines omitted for brevity
4 4
Aber, was ist falsch mit der WHILE-Schleife? Ich glaube, ich bin fehlen einige Sache auf der Hand, konnte aber nicht ausmachen.
Antwort:
Die korrigierte WHILE-Schleife..
>>> a=0
>>> b=0
>>> while a < 4:
a=a+1
b=0
while b<4:
b=b+1
print a,b
1 1
.. ..
.. .. // Other lines omitted for brevity
4 4
P. S: aus Gesucht SO gefunden paar Fragen aber keiner so nah zu diesem. Weiß nicht, ob dies könnte klassifiziert als Hausaufgabe, das eigentliche Programm war anders, das problem ist, was mich verwirrt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist nicht zurücksetzen
b
0 direkt in Ihrem äußeren Schleife, alsob
bleibt auf dem Wert, den es hatte nach der ersten Etappe der äußeren Schleife -- 4 -- und die innere Schleife wird nie ausgeführt wieder.Den
for
Schleifen funktionieren, weil Sie tun zurücksetzen Regelkreis-Variablen richtig; mit dem weniger strukturiertenwhile
Schleifen, so das zurücksetzen ist in Ihren Händen, und Sie tun es nicht.