Sagen Sie, wenn Sie eine Zahleneingabe 8
in Python hatten und eine Liste von fortlaufenden Zahlen erstellen möchten, die Ihnen 8
gefallen
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Wie konntest du das tun?
Sagen Sie, wenn Sie eine Zahleneingabe 8
in Python hatten und eine Liste von fortlaufenden Zahlen erstellen möchten, die Ihnen 8
gefallen
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Wie konntest du das tun?
Antworten:
In Python 3 können Sie die integrierte range
Funktion wie folgt verwenden
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Hinweis 1: Die range
Funktion von Python 3.x gibt ein range
Objekt zurück. Wenn Sie eine Liste möchten, müssen Sie diese explizit in eine Liste konvertieren, mit der list
Funktion, wie ich sie in der Antwort gezeigt habe.
Anmerkung 2: Wir übergeben die Nummer 9 an die range
Funktion, da die range
Funktion Zahlen bis zur angegebenen Nummer generiert, die Nummer jedoch nicht enthält. Also geben wir die tatsächliche Zahl + 1 an.
Hinweis 3: Es gibt einen kleinen Unterschied in der Funktionalität von range
Python 2 und 3. Weitere Informationen hierzu finden Sie in dieser Antwort .
Nur um Ihnen ein weiteres Beispiel zu geben: Obwohl Bereich (Wert) bei weitem der beste Weg ist, dies zu tun, könnte dies Ihnen später bei etwas anderem 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]
calc
zu , int
jedes Mal?
Hinweis: - Natürlich müssen Sie in Python-3x die Range-Funktion verwenden. Sie funktioniert, um bei Bedarf Zahlen zu generieren. Die Standardmethode zur Verwendung der Range-Funktion zum Erstellen einer Liste aufeinanderfolgender Zahlen ist
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]
Wenn Sie eine Funktion zum Generieren einer Liste fortlaufender Zahlen mithilfe der Range-Funktion erstellen möchten, beachten Sie diesen Code!
def consecutive_numbers(n) :
list=[i for i in range(n)]
return (list)
print(consecutive_numbers(10))
Viel Glück!
Sie können itertools.count()
damit unbegrenzte Sequenzen generieren. (itertools befindet sich in der Python-Standardbibliothek). Dokumente hier:
https://docs.python.org/3/library/itertools.html#itertools.count
Je nachdem, wie Sie das Ergebnis erzielen möchten, können Sie auch jede Zahl in einer for-Schleife drucken:
def numbers():
for i in range(int(input('How far do you wanna go? '))+1):
print(i)
Wenn die Benutzereingabe beispielsweise 7 war:
How far do you wanna go? 7
0
1
2
3
4
5
6
7
Sie können das '+1' auch in der for-Schleife löschen und in die print-Anweisung einfügen, wodurch es auf 1 anstelle von 0 geändert wird.
Sie können Listenverständnisse für dieses Problem verwenden, da es nur in zwei Zeilen gelöst wird. Code-
n = int(input("Enter the range of the list:\n"))
l1 = [i for i in range(n)] #Creates list of numbers in the range 0 to n
if __name__ == "__main__":
print(l1)
Vielen Dank.
range
?