Angenommen, Sie hätten 8
in Python eingegeben und möchten eine Liste fortlaufender Nummern bis zu 8
erstellen
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Wie konntest du das tun?
In Python 3 können Sie die eingebaute range
- Funktion wie folgt verwenden
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Note 1: Die range
-Funktion von Python 3.x gibt ein range
-Objekt zurück. Wenn Sie eine Liste erstellen möchten, müssen Sie diese explizit in eine Liste konvertieren, mit der list
- Funktion, wie ich sie in der Antwort gezeigt habe.
Note 2: Wir übergeben die Nummer 9 an die range
-Funktion, da die range
-Funktion Nummern bis zur angegebenen Nummer generiert, jedoch nicht die Nummer. Also geben wir die tatsächliche Zahl + 1 an.
Note 3: In Python 2 und 3 gibt es einen kleinen Unterschied in der Funktionalität von range
. Weitere Informationen dazu finden Sie in dieser Antwort .
Verwenden der integrierten Python-Bereichsfunktion:
Python 2
input = 8
output = range(input + 1)
print output
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Python 3
input = 8
output = list(range(input + 1))
print(output)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Um Ihnen ein weiteres Beispiel zu geben, obwohl der Bereich (Wert) bei weitem der beste Weg ist, dies zu tun, kann dies Ihnen später noch etwas helfen.
list = []
calc = 0
while int(calc) < 9:
list.append(calc)
calc = int(calc) + 1
print list
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Je nachdem, wie Sie das Ergebnis wünschen, können Sie jede Zahl auch in einer for-Schleife ausdrucken:
def numbers():
for i in range(int(input('How far do you wanna go? '))+1):
print(i)
Wenn die Benutzereingabe beispielsweise 7 lautet:
How far do you wanna go? 7
0
1
2
3
4
5
6
7
Sie können das '+1' in der for-Schleife auch löschen und in der print-Anweisung platzieren. Dadurch wird der Wert in 1 anstelle von 0 geändert.
Hinweis: - Natürlich müssen Sie in Python-3x Range-Funktion verwenden, um Zahlen auf Anforderung zu generieren, Standardmethode Range-Funktion , um eine Liste von fortlaufenden Nummern zu erstellen
x=list(range(10))
#"list"_will_make_all_numbers_generated_by_range_in_a_list
#number_in_range_(10)_is_an_option_you_can_change_as_you_want
print (x)
#Output_is_ [0,1,2,3,4,5,6,7,8,9]
Auch wenn Sie eine Funktion erstellen möchten, um mit der Range-Funktion eine Liste fortlaufender Nummern zu generieren beobachten Sie diesen Code!
def consecutive_numbers(n) :
list=[i for i in range(n)]
return (list)
print(consecutive_numbers(10))
Viel Glück!