ich bin mit Python noch völlig unerfahren und auch kein Programmierer, weshalb ich derzeit versuche im openHPI Forum die Grundzüge zu erlenen. Leidere sind Kommentaranfragen zu den Aufgaben dort oft nicht zielführend und verständlich, weil sie von Mitkommilitonenn beantwortet werden . Daher wende ich mich nun hilfesuchend an euch Profis:
Das ist die Aufgabe
Python20 Aufgabe 2.6.2
Auf dem letzten Zettel, den sie finden, steht der folgende Satz: "Du Suchender hast Mut und wirst die linke Allee nicht einschlagen sondern den Schatz entdecken sonst haben wir ihn gefunden". Zusätzlich befindet sich eine Anweisung darauf: Gib nur die Wörter aus, die an der zweiten Stelle (Index = 1) ein „e“ enthalten oder eine gerade Anzahl an Buchstaben verwenden. Kannst du den Freunden helfen?
Tipp 1: Um zu überprüfen, ob ein Wort eine gerade Anzahl an Buchstaben besitzt, könnt ihr die Funktion buchstabenanzahl_ist_gerade(wort) aus der Bibliothek funktionen verwenden. Dieser übergebt ihr einen String und erhaltet dann einen Boolean zurück, der euch sagt, ob der String eine gerade oder ungerade Anzahl an Buchstaben hatte. Für den Aufruf buchstabenanzahl_ist_gerade("Beispiel") wäre das also True.
Tipp 2: Es könnte hilfreich sein, den Satz zunächst in eine Liste zu zerlegen.
So dachte ich mir in etwa die Lösung:
Code: Alles auswählen
from funktionen import buchstabenanzahl_ist_gerade
satz = "Du Suchender hast Mut und wirst die linke Allee nicht einschlagen sondern den Schatz entdecken sonst haben wir ihn gefunden"
liste = satz.split()
wort = liste
while liste:
if wort[1] == "e":
elif buchstabenzahl_ist_gerade(wort) == True:
print(wort)
Code: Alles auswählen
IndentationError: expected an indented block
Frage 2 kann ich die beiden if Abfragen mit OR erknüpfen , falls ja wie muss ich das schreiben?
DANKE schonmal im voraus und Angsbe der Zeilennummer wäre echt nett.
Gruss
uek