MINT lernen

Zeichenketten verarbeiten

Zehn interaktive Übungen zum Verarbeiten von Zeichenketten — von AFB I bis AFB III.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn interaktive Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung.

A1
Erstes, letztes, Länge
AFB I

Was gibt das Programm aus? Trenne die drei Werte durch Leerzeichen.

s = "Bahnhof"print(s[0], s[-1], len(s))
Trage die Ausgabe ein — Enter prüft direkt.
s[0] ist das erste Zeichen, s[-1] das letzte, len zählt alle 7 Zeichen.
A2
Ausdruck und Ergebnis
AFB I

Es gilt s = "Wasserball". Verbinde jeden Ausdruck mit seinem Ergebnis.

A3
Lückentext: Regeln für Strings
AFB I

Setze die Begriffe ein — drei Wörter bleiben übrig.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Strings sind : s[0] = "X" führt zu einem Fehler. Mit hängt man zwei Texte aneinander, mit wiederholt man einen Text. Beim Slicing s[a:b] gehört die Position nicht mehr dazu. Ob ein Teiltext vorkommt, prüft man mit .

„veränderbar“, „a“ und „-“ bleiben übrig. Wer einen String „ändern“ will, baut einen neuen und weist ihn zu.
A4
Viele Wege zu „ball“
AFB II

Es gilt s = "Handball". Welche Ausdrücke liefern genau "ball"?

Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
„Handball“ hat 8 Zeichen, „b“ steht an Index 4 bzw. −4. s[4:], s[-4:] und s[4:8] schneiden alle ab dort bis zum Ende. s[4:7] und s[-4:-1] lassen das letzte l weg, s[5:] beginnt zu spät.
A5
Vokale zählen
AFB II

Was gibt das Programm aus?

wort = "Kaffeemaschine"n = 0for z in wort:    if z in "aeiou":        n = n + 1print(n)
Rechne selbst und trage das Ergebnis ein — Enter prüft direkt.
K-a-f-f-e-e-m-a-s-c-h-i-n-e: a, e, e, a, i, e — sechs Vokale. z in "aeiou" prüft, ob das Zeichen z im Text "aeiou" vorkommt.
A6
Stimmt's? — Fünferserie
AFB II

Fünf Behauptungen über Strings.

5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Leerzeichen zählen mit, * wiederholt, und Methoden wie upper ändern das Original nicht.
A7
Mix: Text, Zahl oder Fehler?
AFB II

Was liefert der Ausdruck — einen String, eine ganze Zahl oder eine Fehlermeldung?

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1str
2int
3Fehler
"7" + 3 mischt Text und Zahl (TypeError), "Tor"[3] liegt hinter dem Ende (IndexError), und minus gibt es für Strings nicht. len liefert immer eine Zahl, Indizes liefern ein Zeichen, also einen String.
A8
Palindrom-Prüfer ordnen
AFB III

Das Programm liest ein Wort ein, dreht es um und prüft, ob es vorwärts und rückwärts gleich ist (wie „Rentner“). Zuerst wird eingelesen, dann ein leerer String vorbereitet.

Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1wort = input("Wort: ")
2rueckwaerts = ""
3for z in wort:
4    rueckwaerts = z + rueckwaerts
5if rueckwaerts.lower() == wort.lower():
6    print(wort, "ist ein Palindrom")
7else:
8    print(wort, "ist kein Palindrom")
Jedes neue Zeichen wird vorne angehängt: z + rueckwaerts. So entsteht das Wort von hinten. lower() sorgt dafür, dass „Rentner“ und „rentneR“ als gleich gelten.
A9
Mix: Login-Kürzel reparieren
AFB III

Aus „Merve“ soll das Login „MER5“ werden: die ersten drei Buchstaben groß, dahinter die Länge des Namens. Drei Zeilen sind falsch.

Klicke genau die fehlerhaften Zeilen an.
Index ab 0, Strings nicht verändern, sondern neu zuweisen, und Zahlen vor dem Verketten mit str() umwandeln.
A10
Trick: Grenzen beim Slicing
AFB III

Es gilt s = "Donnerstag". Löse die Kette — im letzten Schritt lauert eine Falle.

Rechne die Kette Schritt für Schritt: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. Welche Zahl a liefert s[a:] == "stag"?
  2. Welche negative Zahl a liefert s[a:] == "tag"?
  3. Wie viele Zeichen hat s[2:-2]?
  4. Wie viele Zeichen hat s[8:100]?
D-o-n-n-e-r-s-t-a-g hat Index 0 bis 9; „s“ steht an 6, „t“ an −3. s[2:-2] ist „nnerst“. Die Falle: Beim Slicing gibt es keinen IndexError — s[8:100] liefert einfach „ag“.