Python Zahlen rückwärts ausgeben?
also zum Beispiel 100, 99, 98
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
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
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.
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.
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*
>>> for x in range(n):
... print(n-x)
Zum Beispiel
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.
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
>>> n = 100
>>> for x in range(n):
... print(n-x)
# 100
# 99
# 98
# 97
#
https://stackoverflow.com/questions/1738109/how-does-the-pythons-range-function-work
aber wie definiere ich das n?