Title: Schleifen und Texte

Strings werden besonders interessant, wenn du sie mit Schleifen,
Verzweigungen und Funktionen kombinierst. Dann kann dein Programm nicht nur
einzelne Sätze ausgeben, sondern kleine Textmuster, Hinweise, Steckbriefe oder
automatisch zusammengesetzte Spielmeldungen erzeugen.

Das folgende Programm baut aus einem Wort ein kleines Muster:

wort = input()
wort = wort.strip()

for i in range(1, len(wort) + 1):
print(wort[:i])

Wenn du `Maske` eingibst, entsteht:

M, Ma, Mas, Mask, Maske

!!! note Was passiert in der Schleife?
Bei jedem Durchlauf wird ein etwas längerer Anfang des Wortes ausgegeben.
`wort[:i]` bedeutet: Nimm alles vom Anfang bis vor Index `i`.

### Text untersuchen

Mit einer Schleife kannst du jedes Zeichen einzeln ansehen. So kann dein
Programm zum Beispiel zählen, prüfen oder bestimmte Zeichen besonders
behandeln.

wort = input().strip().lower()
vokale = "aeiou"
anzahl = 0

for zeichen in wort:
if zeichen in vokale:
anzahl = anzahl + 1

print(f"{wort} enthält {anzahl} Vokale.")

wort: maske
Zeichen m a s k e
Anzahl: 2

### Funktion für Texte

Auch Funktionen können Strings verarbeiten und Strings zurückgeben. Das ist
nützlich, wenn du denselben Textaufbau an mehreren Stellen verwenden möchtest.

def rahmen(text):

name = input("Wähle einen Titel für die Überschrift").strip()
print(rahmen(f"Eintrag für {name}!"))

Die Funktion `rahmen()` bekommt einen Text, berechnet eine passende Linie und
gibt einen neuen mehrzeiligen String zurück.