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?
python
list
python-3.x
yezi3
quelle
quelle
range
?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 einrange
Objekt zurück. Wenn Sie eine Liste möchten, müssen Sie diese explizit in eine Liste konvertieren, mit derlist
Funktion, wie ich sie in der Antwort gezeigt habe.Anmerkung 2: Wir übergeben die Nummer 9 an die
range
Funktion, da dierange
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 .quelle
Verwenden der in Python integrierten 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]
quelle
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]
quelle
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!
quelle
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
quelle
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.
quelle
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.
quelle