Teil 10: Strings

Lernziele
  • Einen String als Folge von Zeichen verstehen und einzelne Zeichen ansprechen
  • Die Länge eines Strings bestimmen
  • Teilstrings ausschneiden
  • Mit einer Schleife über die Zeichen eines Strings laufen
  • Nützliche Methoden wie upper und replace anwenden

Neue Befehle und Zeichen:

  • s[i] greift auf das Zeichen an Position i zu
  • s[a:b] schneidet einen Teilstring aus
  • .upper() und .lower() wandeln in Gross- bzw. Kleinbuchstaben um
  • .replace() ersetzt Zeichen
  • .split() zerlegt einen Satz in Wörter
  • in prüft, ob ein Zeichen oder Wort vorkommt

Strings

Ein String ist eine Folge von Zeichen. Genau wie bei einer Liste hat jedes Zeichen eine Position, und auch hier wird ab 0 gezählt.

wort = "KANTONSSCHULE"
print(wort[0])
print(wort[2])
print(len(wort))
K
N
13
Vorsicht beim letzten Zeichen

Ein String der Länge 13 hat die Positionen 0 bis 12. Das letzte Zeichen ist also wort[len(wort) - 1]. Kürzer geht es mit einem negativen Index: wort[-1] ist das letzte Zeichen, wort[-2] das zweitletzte.

Teilstrings ausschneiden

zauberspruch = "ABRACADABRA"
print(zauberspruch[0:4])
print(zauberspruch[7:11])
ABRA
ABRA
Die Schreibweise s[a:b]

Über einen String laufen

Wie bei einer Liste kannst du direkt über die Zeichen iterieren:

wort = "ABRACADABRA"
anzahl = 0
for zeichen in wort:
    if zeichen == "A":
        anzahl += 1
print(anzahl)

Nützliche Methoden

Ein String bringt eigene Funktionen mit, die mit einem Punkt angehängt werden.

satz = "Hallo Welt"
print(satz.upper())
print(satz.lower())
print(satz.replace(" ", "_"))
print(satz.split(" "))
print("Welt" in satz)
HALLO WELT
hallo welt
Hallo_Welt
['Hallo', 'Welt']
True

Diese Methoden verändern den String nicht, sie geben einen neuen zurück. Willst du das Ergebnis behalten, musst du es speichern.

Aufgaben

Aufgabe 10.1

Schreibe ein Programm, das ein Wort einliest und den ersten und letzten Buchstaben entfernt.

PythonLoading editor…
Aufgabe 10.2

Schreibe ein Programm, das den ersten und den letzten Buchstaben eines Worts vertauscht.

PythonLoading editor…
Aufgabe 10.3

Warum funktioniert dieses Programm nicht? Korrigiere es.

PythonLoading editor…
x = 5
wort = "-Prozent"
print(x + wort)
Aufgabe 10.4

Schreibe die Funktion wiederhole(wort, n), die das Wort n-mal aneinandergehängt zurückgibt.

PythonLoading editor…
Aufgabe 10.5

Pig Latin: Verschiebe den ersten Buchstaben ans Ende und hänge ay an.

PythonLoading editor…
Aufgabe 10.6

Zähle, wie oft ein gesuchter Buchstabe in einem Wort vorkommt. Lies beides ein.

PythonLoading editor…
Aufgabe 10.7

Ersetze in einem eingelesenen Satz alle Leerzeichen durch Unterstriche.

PythonLoading editor…
Aufgabe 10.8

Drehe die Reihenfolge der Wörter in einem Satz um, ohne die Wörter selbst zu verändern.

PythonLoading editor…

Weitere Aufgaben

Zusatzaufgabe 10.9

Zähle, wie viele Grossbuchstaben in einem Wort vorkommen. Die Methode .isupper() hilft dir dabei.

PythonLoading editor…
Zusatzaufgabe 10.10

Ersetze in einem Satz alle Vokale durch einen Stern.

PythonLoading editor…
Zusatzaufgabe 10.11

Prüfe, ob ein Satz das Wort Python enthält. Gross- und Kleinschreibung soll dabei keine Rolle spielen.

PythonLoading editor…
Zusatzaufgabe 10.12

Schreibe die Funktion ist_palindrom(wort), die prüft, ob ein Wort vorwärts und rückwärts gleich gelesen wird. Löse die Aufgabe zuerst mit einer Schleife.

PythonLoading editor…