2016-05-27 3 views
0
start = int(input("Enter starting number: ")) 
stop = int(input("Enter number to stop viewing at: ")) 
numbers = [start:stop] 

Das gibt mir einen Syntaxfehler. Ich kann nicht einmal verwenden numbers.append[start:stop] Irgendwie kann ich etwas verwenden wie Liste schneiden Eingabe Zahlen in eine Liste?Python: Wie man Zahlen in der Liste zwischen zwei Zahlen basierend auf Benutzereingabe eingibt?

+0

Also, wenn ein Start = 1 und Stopp = 5, Zahlen = [1,2,3,4,5] ??? – glls

+0

Der erste Syntaxfehler stammt vermutlich von dieser Zeile: 'stop = int (Eingabe (Nummer eingeben, um die Anzeige zu stoppen bei:")) 'Sie verpassen ein Zitat. –

+0

@gllls ja, auch wenn ich floats (um eine runde von 2 Ziffern), das ist toll –

Antwort

1

Das ist nicht der richtige Weg, um eine Liste zu erstellen. Wenn Sie eine Liste von Zahlen basierend auf einer Eingabe möchten, können Sie diese verwenden:

start = int(input("Enter starting number: ")) 
stop = int(input("Enter number to stop viewing at: ")) 
numbers = [i for i in range(start,stop+1)] 

Sie könnten auf lists und range lesen wollen.

+0

' [i für i in range (start, stop + 1)] 'ist eine komplizierte Art zu schreiben' list (range (start, stop + 1)) ' – Matthias

+0

@Matthias Ich würde nicht sagen, dass es kompliziert ist.Es ist grundlegende Liste Verständnis. –

+0

Sie haben recht, ein Listenverständnis ist nicht gerade Raketenwissenschaft, aber nichtsdestoweniger ist es komplizierter als nur einen Aufruf von 'liste' zu ​​verwenden. – Matthias

0

wenn mein Kommentar der Fall ist, können Sie Elemente in der Liste anhängen, basierend auf Bereich wie folgt:

start = int(input("Enter starting number: ")) 
stop = int(input("Enter number to stop viewing at: ")) 
numbers=[] 
for i in range(start, stop+1): 
    numbers.append(i) 

print list 

für rounding digits:

round (Zahl [, ndigits])

Geben Sie die Gleitkommazahl auf die Nachkommastellen gerundet zurück. Wenn ndigits nicht angegeben ist, wird standardmäßig Null verwendet. Das Ergebnis ist eine Gleitkommazahl. Werte werden auf das nächste Vielfache von 10 zur Potenz gerundet minus ndigits; Wenn zwei Vielfache gleich sind, wird die Rundung von 0 weg gemacht (also ist zum Beispiel Runde (0.5) 1.0 und Runde (-0.5) ist -1.0).

von Python Orgs-Dokumentation.

+2

oder einfach, 'numbers = range (start, stop + 1)' .Es ist besser, die Definition von 'list' nicht zu ändern, was ein Schlüsselwort ist.Ich habe nicht gemerkt, dass das 3.x ist. Hier,' numbers = list (range (start, stop + 1)) 'kann nützlich sein ... – ssm