Python Zahlen rückwärts ausgeben?

3 Antworten

Ich hätte eine schleife genommen, eine variable mit dem wert 100 ausgegeben, diese variable -1 gerechnet und dann nochmal durch den loop bis er dann bei 0 endet.
Ich habe nie in python gearbeitet, aber sowas wie
"while i>0 {
do
print(i)
i - 1}"

Müsste python mit der richtigen formatierung definitiv können


jort93  28.09.2018, 01:37

Ich war ganz dicht dran dafür das ich geraten habe. Ein paar zu viele klammern. i = 100 while i > 0:   print(i)   i -= 1 Sollte wohl funktionieren ohne es probiert zu haben

0
for i in range(100, -1, -1):
  print i

Die ersten beiden Argumente der range-Funktion entsprechen den Grenzen des Zahlenbereichs. Zuletzt kommt der Wert, um den je Iteration der Schleife inkrementiert wird.


offeltoffel  01.10.2018, 14:54

Dies ist die einzig sinnvolle Antwort. Python hat für sowas extra das Argument "Step" angelegt und dort auch negative Werte zulassen. Aufpassen muss man wirklich immer nur, dass der "Stop"-Wert nicht mehr Teil der Liste ist, deshalb zählt man zurück auf 0 immer mit range bis -1.

0
KarlRanseierIII  28.09.2018, 01:33

Ach stimmt, der Generator kann ja auch negatives Stepping, ich habe mich die ganze Zeit gefragt, warum range keine reverse (wie eine List) anbietet. *doh*

0
>>> for x in range(n):
...    print(n-x)

Zum Beispiel


LeanEveryday 
Beitragsersteller
 28.09.2018, 01:28

aber wie definiere ich das n?

0
KarlRanseierIII  28.09.2018, 01:29
@LeanEveryday

Na, Du wirst doch wohl wissen, ab welcher Zahl Du rückwärts zählen möchtest, Du kannst dann n durch diese Zahl ersetzen, oder einfach n=Zahl vor der Schleife einfügen.

0
LeanEveryday 
Beitragsersteller
 28.09.2018, 01:32
@KarlRanseierIII

okay das funktioniert, aber ich verstehe nicht wieso. wieso zieht er da genau 1 ab? x ist doch nicht definiert er könnte doch alles mögliche abziehen, ich verstehs nicht

0