Brauche Hilfe bei Python?
Hi,
ich bin absoluter Anfänger in Python, kann also sein, dass es ein absolut einfach zu lösender Fehler ist. Jedenfalls ist das hier mein sehr kurzer Code:
Wenn man also das Wort "Warum" oder "Wieso" oder "Weshalb" oder einfach ein "?" eingibt, soll "Element gefunden" ausgegeben werden.
Das funktioniert aber leider nicht:
Ich verstehe zwar den Fehler, aber weiß nicht, wie ich das anders umsetzen soll. Habt ihr da Ideen?
Danke sehr.
3 Antworten
Bei einer Liste an Elementen kannst du dich nur auf ein Element in der Liste beziehen. Das bedeutet, dass dein „if Eingabe == Frage[x,y,z]“ nicht funktioniert, sondern dir nur ein „if Eingabe == Frage [x]“ etc. machen kannst. Sobald du dich auf mehrere Elemente beziehst, versuchst du einen Zugriff wie bei einem Tupel zu machen. Eine Liste ist aber KEIN Tupel.
Einfacher wäre hier:
“if Eingabe in Frage“ zu schreiben. Das „in“ ist letztendlich eine Art „For-Schleife“, die durch alle Elemente der Liste rotiert und schaut, ob „Eingabe“ in der Liste existiert.
Zusätzlich als Hinweis: Dein „str(input())“ ist nicht nötig, da „input()“ bereits einen Steing zurückliefert.
Du solltest dich als Anfänger definitiv erst einmal mit den Basics auseinandersetzen(!)
Dabei ist das Verständnis von Listen essenziell.
Die Antwort heißt auf gut deutsch: Listen Indexe (also das 0,1,2,3 in Frage[0,1,2,3]) muss ein Integer (Ganzzahl) sein und kein Tupel (Aufzählung).
Du kannst bei einem if mehrere Bedingungen machen mit && (UND) oder || (ODER). So könntest du if Eingabe == "?" || Eingabe == "Warum" || Eing.. benutzen
Für den Anfang wären zwar multiple If-Statements ok, aber das sollte man mMn lieber vermeiden und auf die in Python vorhandene Keywords wie „if x in y“ o.ä. setzen.
Glaube du verstehst den Fehler nicht lol
Du kannst nicht einfach eine Liste mit einem String vergleichen,
Versuch doch mal:
"For element in Frage:
If element == Eingabe:
Print...
"
Das ist jetzt pseudocode den ich am Handy geschrieben habe der geht so wahrscheinlich nicht aber vom Prinzip her müsste es stimmen
Elemente einer Liste, die z.B. vom Typ „str“ sind, können sehr wohl mit einem String vergleichen werden. So kann z.B. folgendes funktionieren:
In dem Fall würde „True“ ausgegeben werden.