2017-12-05 1 views
0

In meinem Code habe ich eine Schleife implementiert, wo die unteren und oberen Grenzen variabel sind, und es kann vorkommen, dass die untere und obere Grenze gleich sind. In diesem Fall überspringt Python die Schleife.Python 3.6.2 läuft keine Schleife über einen einzelnen Wert

for i in range(low_, high_): 
    print(i) 

Gibt es eine Möglichkeit, dies in der Definition der Schleife zu beheben?

+0

was willst du? Ich meine, Sie wollen, dass, wenn Low und High gleich sind, die Schleife einmal ausgeführt wird? – rafaelleru

+5

Was möchten Sie hier genau beheben? Was sollte es tun, wenn es z.B. "für i in der Entfernung (2, 2):" ist? –

+0

Die Art, wie 'range()' funktioniert, beginnt bei der ersten Zahl, gibt aber nie die letzte. Wenn Sie also nur einmal ausführen möchten, würden Sie Bereich (x, x + 1) sagen. Wenn die Start- und Stoppnummern identisch sind, wird die Schleife nicht ausgeführt. Wenn Sie möchten, dass die Schleife mindestens einmal ausgeführt wird, fügen Sie +1 zur zweiten Zahl hinzu, wie oben in meinem Bereich (x, x + 1). Aber Sie müssen möglicherweise anpassen, was als Ergebnis in der Schleife passiert. Vielleicht genügt es, 'range (low_, high_ + 1)' zu nennen, was Sie brauchen ... – Gary02127

Antwort

5

ja, wenn low == high, die Schleife nicht eingeben.

Loops laufen von start auf die Aufnahme von (end - 1); es ist daher völlig normales Verhalten

In dem Fall, wo low == high, müssen Sie testen, um die niedrigen zu drucken. (Kredite für den Fang einen Fehler in den Kommentaren @Michael_heath)

for i in range(low_, high_): 
    print(i) 
if low_ == high_: 
    print(low_) 
+0

'Low_, High_ = 2, 4' Ausgänge' 2 3 2'. Ihre Schleife hat keine Pause, um das Else zu überspringen. –

+0

Autsch, das ist wahr ... Dann kann ein 'for else' nicht verwendet werden, wir müssen auf 'low == high' testen, um zu drucken. Danke, dass Sie das verstanden haben. –

2

Try running:

for i in range(low_, high_ + 1): 
    print(i) 

Es klingt wie Sie Ihre Schleife bei low_ starten wollen und high_ bekommen, auch wenn sie‘ Gleiches. Das Hinzufügen der zusätzlichen '+ 1' sollte dir also bringen, was du willst.

Im Allgemeinen wird eine Schleife nur um eins kleiner als der zweite Wert. Wenn Sie diesen Wert erreichen möchten, sollten Sie den zusätzlichen Trick hinzufügen.

Verwandte Themen