Warum den das??
...
Der Ausdruck
buchstabe[0] in text schaut nach ob das erste Zeichen `[0]` von `buchstabe` in `text`vorhanden ist. Wenn es vorhanden ist wird ``True`` zurückgegeben mit ``return``, wenn nicht dann ``False``.
``is`` schaut also nach ob X in Y ist und gibt dann entsprechend einen Wahrheitswert zurück.
Noch einfacher gehts nicht. Das ist schon die einfachste Form.
...
Du hast jetzt eine Funktion geschrieben die dir per True, False zurückgibt ob ein bestimmtes Zeichen in dem übergebenen Text vorhanden ist. Warum möchtest du diese Funktion nun Zerstören und in grunde unbrauchbar (nicht Allgemein einsetzbar) machen in dem du die einen Text returnene lässt?
Das was du willst würde so gehen:
Code: Alles auswählen
def is_char_in_text(text, buchstabe):
if buchstabe[0] in text:
return "vorhanden"
else:
return "nicht vorhanden"
Total Sinnfrei.
Mach es so:
Code: Alles auswählen
def is_char_in_text(text, buchstabe):
return buchstabe[0] in text
Damit hast du eine Funktion die Allgemein Einsetzbar ist, weil amn dann nur auf True, oder False testen muss
beispiel Aufruf (Wenn e in test vorhanden ist wird "vorhanden angezeigt":
Das ist viel Besser als wenn die Funktion den Text zurückgibt.
...
Das `if is_char_in_text("test", "e")` ist das gleiche wie `if is_char_in_text("test", "e") == True`. Man macht das aber nicht so.
True:
Guter Stil:
Schlechter Stil:
False:
Guter Stil:
Schlechter Stil:
lg