Skip to content

Ziele ​

  • Text mit .split() in Wörter zerlegen
  • Ein Dictionary als Zähler benutzen
  • Das häufigste Element bestimmen

Text in Wörter zerlegen ​

python
text = "die katze jagt die maus die maus rennt"
woerter = text.split()      # trennt an Leerzeichen
print(woerter)
print("Anzahl Wörter:", len(woerter))

Das Dictionary ​

Eine Liste greift über eine Zahl (Index) zu. Ein Dictionary greift über einen frei wählbaren Schlüssel zu – hier: das Wort → seine Anzahl.

python
zaehler = {}
zaehler["die"] = 3
zaehler["maus"] = 2
print(zaehler)
print(zaehler["die"])
print("katze" in zaehler)

Wörter zählen ​

python
text = "die katze jagt die maus die maus rennt"
woerter = text.split()

zaehler = {}
for wort in woerter:
    if wort in zaehler:
        zaehler[wort] += 1
    else:
        zaehler[wort] = 1

print(zaehler)
Kürzer mit get()

zaehler[wort] = zaehler.get(wort, 0) + 1 – .get(wort, 0) liefert die bisherige Anzahl oder 0, falls das Wort neu ist. Dann entfällt das if.

Das häufigste Wort ​

python
text = "die katze jagt die maus die maus rennt"

zaehler = {}
for wort in text.split():
    zaehler[wort] = zaehler.get(wort, 0) + 1

haeufigstes = ""
max_anzahl = 0
for wort in zaehler:
    if zaehler[wort] > max_anzahl:
        max_anzahl = zaehler[wort]
        haeufigstes = wort

print(f"'{haeufigstes}' kommt {max_anzahl}x vor")

Der häufigste Buchstabe ​

Dasselbe Muster – nur über die Zeichen statt über die Wörter:

python
text = "programmieren macht wirklich freude"

zaehler = {}
for zeichen in text:
    if zeichen != " ":
        zaehler[zeichen] = zaehler.get(zeichen, 0) + 1

bester = ""
max_anzahl = 0
for z in zaehler:
    if zaehler[z] > max_anzahl:
        max_anzahl = zaehler[z]
        bester = z

print(f"'{bester}': {max_anzahl}x")

Aufgaben ​

Löse die folgenden Aufgaben selbstständig oder mit einem Partner oder Partnerin.

Aufgabe 1: Wie viele verschiedene Wörter? ​

Gib aus, wie viele unterschiedliche Wörter der Text enthält.

python
text = "wenn fliegen hinter fliegen fliegen fliegen fliegen fliegen nach"
# Tipp: len(zaehler)

Aufgabe 2: Vokale zählen ​

Zähle, wie oft jeder Vokal (a, e, i, o, u) im Text vorkommt.

python
text = "informatik ist ein spannendes fach"
# for zeichen in text: if zeichen in "aeiou": ...

Aufgabe 3: Wörter ab einer Mindesthäufigkeit ​

Gib alle Wörter aus, die mindestens 2x vorkommen.

python
text = "rot blau rot grün blau rot gelb blau"
zaehler = {}
for wort in text.split():
    zaehler[wort] = zaehler.get(wort, 0) + 1
# for wort in zaehler: if zaehler[wort] >= 2: ...
Tipp

Über ein Dictionary läuft for schluessel in zaehler:. Den Wert bekommst du mit zaehler[schluessel].