2017-01-04 1 views
-2

Ich versuche, ein Projekt zu tun, hier ist die Aufgabe, Ihr Programm ist für ein Geschäft. Der Shop möchte wissen, wie viele Bücher von einem Kunden gekauft werden (Eingabe einer ganzen Zahl) Für jedes Buch muss der Ladenbesitzer den Buchnamen eingeben. Das Programm sollte dann eine Liste aller von diesem Kunden gekauften Bücher erstellen HierSo speichern Sie Eingaben unter einem vairible

ist, was ich habe, so weit, mein Programm fragt die gleiche Frage, die Menge an mal den Benutzereingaben, sondern speichert nur die letzte Antwort der Benutzereingabe so, wenn ich es drucken möchten es die letzte Eingabe druckt, pls helfen

x = int(input("How many books do you have? ")) 
    for i in range(x): 
     var = input("What the name of one of the book(s)") 
     print(var) 
+1

Sie wahrscheinlich wollen Hängen Sie die Eingabe an eine Liste von Büchern an – depperm

+1

eine Variable kann nur eine Daten speichern. Um mehrere Daten zu speichern, müssen Sie eine Liste verwenden. – Yousaf

+0

Mögliches Duplikat von [Python-Listenwert wird überschrieben, warum?] (Http://stackoverflow.com/questions/21702528/python-list-value-gets-overwritten-why) – SiHa

Antwort

0

In einer anderen Sprache werden die vorherigen Werte var von der aktuellen Iteration überschrieben.

Pythonic fix: tun Sie es einfach in einer Liste Verständnis:

var = [input("What the name of one of the book(s)") for _ in range(x)] 

es eine list Buch Namen bekommen.

0

versuchen Sie dies:

x =int(input("How many books do you have? ")) 
#print(type(x)) 
list1=[] 
for i in range(x): 
    var = raw_input("What the name of one of the book(s):") 
    #print type(var) 
    list1.append(var) 
print list1 

auch wenn u nicht so erwähnt hat:

x = int(input("How many books do you have? ")) 

es gibt integer.try dies:

x = input("How many books do you have? ") 
Verwandte Themen