2017-11-13 4 views
1

Könnte jemand mir helfen zu verstehen, warum dieser Code die ursprünglichen Elemente in der Liste anstelle der Elemente zurückgibt, nachdem Benutzereingabename entfernt wurde.Element aus der Liste entfernen ist während

+0

'während removeName nicht in lists' und dann' lists.remove (removeName) '..... – miradulo

+0

Leider gibt mir das gleiche Ergebnis. – Leofig123

+0

Sieht für mich so aus, als wollten Sie das Objekt nur dann aus der Liste entfernen, wenn es nicht wirklich da ist. – glibdud

Antwort

1

Wenn Sie die Funktion input() verwenden, müssen Sie nicht drucken. Python wird die Eingabe von allem, was Sie in diesem Parameter gesetzt finden, so zunächst, dass Druck entfernen, so wird es:

removeName = input("what name would you like to remove \n") 

Statt:

removeName = input(print("what name would you like to remove \n")) 

Als nächstes müssen Sie in ein, wenn ein Element erinnern, Liste wird entfernt, es ist ein Element kürzer. Das heißt, wenn Sie einen Artikel entfernen, möchten Sie die Anzahl nicht ändern. Der endgültige Code sollte sein:

lists = ['leo','bob','bob','Joe','Sam','Tracy','bob'] 
counts = 0 
removeName = input("what name would you like to remove \n") 
while counts != len(lists): 
    if lists[counts] != removeName: 
     counts = counts + 1 
    else: 
     lists.remove(removeName) 
print ("ok we removed all the", removeName, "from the list") 
print(lists) 
Verwandte Themen