burim:python:python-labs:loesung_blatt8_aufgabe1_woerter_dictionary_kommentiert.py
# Definition eines Beispieltextes
text = """Lorem ipsum dolor sit amet,
consectetur adipisici elit, sed eiusmod tempor
incidunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquid ex ea commodi consequat.
Quis aute hällo iure reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint
obcaecat cupiditat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum."""
def clean(s): # Definition einer Bereinigungsfunktion mit einem Eingabeargument
news = "" # Hilfsvariable 'news' zum Speichern der gueltigen Zeichen
s = s.lower() # Umwandeln der Eingabe in Kleinbuchstaben
for c in s: # fuer jeden Buchstaben/Zeichen in der Eingabezeichenfolge
if c >= "a" and c <= "z": # wenn das derzeitige Zeichen sich zwischen
news += c # 'a' und 'z' befindet, wird dieser 'news' angehaengt.
else: # andernfalls
news += " " # wird ein Leerzeichen angehaengt
return news # Alle gueltigen uebrigbleibenden Zeichen, auf welche die
# Variable 'news' verweist wird zurueckgegeben.
worddict = {} # Die Variable 'worddict' verweist auf ein leeres Dictionary
for word in clean(text).split(): # fuer jedes Wort in der bereinigten
# Zeichenfolge
worddict[word] = worddict.get(word, 0) + 1 # nutze das derzeitige Wort als
# Schluessel und weise diesem
# den Wert 0 zu, wenn es noch
# keinen Eintrag mit diesem
# Schluessel gibt, ansonsten
# erhoehe diesen Wert um 1.
keylist = list(worddict.keys()) # Umwandlung der Schluessel des Woerterbuches
keylist.sort() # in eine Liste und alphabetische Sortierung.
for key in keylist: # fuer jeden Schluessel in dieser Liste
print("{}: {}".format(key, worddict[key])) # Ausgabe der Schluessel und
# Werte (Anzahl der Woerter)
burim/python/python-labs/loesung_blatt8_aufgabe1_woerter_dictionary_kommentiert.py.txt · Last modified: 2019/01/21 20:55 by 127.0.0.1
