Ich will Tastatureingaben in eine Liste einfügen.
Das Programm:
eingabe=""
liste=[]
while eingabe!="#":
eingabe=str(input("eingeben "))
print (eingabe)
if eingabe in liste:
print("schon da")
else:
liste +=eingabe
print (liste)
Statt die eingegebenen Strings einzufügen, werden die Zeichen des Srings einzeln in die Liste eingefügt,
Bsp.: eingabe "AB" daraus wird die Liste ['A','B'] es sollte aber ['AB'] werden.
Was mache ich falsch?
warafu
string in liste, Anfängerfrage
+= ist die falsche Art einen String einer Liste hinzuzufügen. Das entspricht einem extend (siehe https://docs.python.org/3/library/stdty ... ence-types). Du brauchst aber append, also liste.append(eingabe).
Übrigens, auch der beste Zauberer kann kein Brot in Brot verwandeln. Da der Rückgabewert von input ein String ist macht es keinen Sinn den noch einmal mit str in einen String zu konvertieren.
Übrigens, auch der beste Zauberer kann kein Brot in Brot verwandeln. Da der Rückgabewert von input ein String ist macht es keinen Sinn den noch einmal mit str in einen String zu konvertieren.
Wenn man eine Variable mit einem Dummy-Wert belegen muß, damit eine while-Schleife betreten wird, dann hat man eigentlich eine while-True-Schleife, bei der an der passenden Stelle per break die Schleife verlassen wird. Benutze aussagekräftige Variablennamen. Was ist der Inhalt der `liste`?
Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht 3.
Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht 3.
Code: Alles auswählen
eingaben = []
while True:
eingabe = input("eingeben ")
if eingabe == "#":
break
print(eingabe)
if eingabe in eingaben:
print("schon da")
else:
eingaben.append(eingabe)
print(eingaben)