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
upperundreplaceanwendenNeue Befehle und Zeichen:
s[i]greift auf das Zeichen an Positionizus[a:b]schneidet einen Teilstring aus.upper()und.lower()wandeln in Gross- bzw. Kleinbuchstaben um.replace()ersetzt Zeichen.split()zerlegt einen Satz in Wörterinprü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 ZeichenEin 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 Schreibweises[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.1Schreibe ein Programm, das ein Wort einliest und den ersten und letzten Buchstaben entfernt.
Aufgabe 10.2Schreibe ein Programm, das den ersten und den letzten Buchstaben eines Worts vertauscht.
Aufgabe 10.3Warum funktioniert dieses Programm nicht? Korrigiere es.
Aufgabe 10.4Schreibe die Funktion
wiederhole(wort, n), die das Wortn-mal aneinandergehängt zurückgibt.
Aufgabe 10.5Pig Latin: Verschiebe den ersten Buchstaben ans Ende und hänge
ayan.
Aufgabe 10.6Zähle, wie oft ein gesuchter Buchstabe in einem Wort vorkommt. Lies beides ein.
Aufgabe 10.7Ersetze in einem eingelesenen Satz alle Leerzeichen durch Unterstriche.
Aufgabe 10.8Drehe die Reihenfolge der Wörter in einem Satz um, ohne die Wörter selbst zu verändern.
Weitere Aufgaben
Zusatzaufgabe 10.9Zähle, wie viele Grossbuchstaben in einem Wort vorkommen. Die Methode
.isupper()hilft dir dabei.
Zusatzaufgabe 10.10Ersetze in einem Satz alle Vokale durch einen Stern.
Zusatzaufgabe 10.11Prüfe, ob ein Satz das Wort Python enthält. Gross- und Kleinschreibung soll dabei keine Rolle spielen.
Zusatzaufgabe 10.12Schreibe 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.