diff --git a/notebooks/seminar06.ipynb b/notebooks/seminar06.ipynb index 413df13040bfb5edbf59cc75946d532409e049d3..1808c43092247d6a4a488012983a764658011101 100644 --- a/notebooks/seminar06.ipynb +++ b/notebooks/seminar06.ipynb @@ -39,8 +39,6 @@ "metadata": {}, "outputs": [], "source": [ - "## Modul 6 \n", - "\n", "import os\n", "\n", "# Tabellenkopf ausgeben\n", diff --git a/notebooks/seminar11.ipynb b/notebooks/seminar11.ipynb index f4aabc05100dc09c7ad996b8c00912572147ae29..d7eb268e226b8227f6616fa95a46962f860940a2 100644 --- a/notebooks/seminar11.ipynb +++ b/notebooks/seminar11.ipynb @@ -10,7 +10,7 @@ "\n", "In dieser Rubrik, die immer am Anfang eines Kapitels steht, möchte ich Ihnen zeigen, wofür ich Python nutze und warum ich es mag. Sie werden vielleicht noch nicht verstehen, was ich genau mache, aber Sie sehen damit schon einmal die Möglichkeiten von Python und können später darauf zurückgreifen. Da dies auch ein Exkurs ist, können Sie diese Rubrik gerne auch erst einmal überspringen.\n", "\n", - "Mit den Operatoren aus diesem Kapitel können wir ganz leicht das Verfahren zur Umwandlung einer Dezimalzahl in ihre Binärdarstellung implementieren:" + "Die Python-Standardbibliothek bietet viele Module, die die Arbeit erleichtern. Beispielsweise ermöglicht das Modul [json](https://docs.python.org/3/library/json.html) das Lesen und Schreiben von [JSON](https://en.wikipedia.org/wiki/JSON)-Dateien:" ] }, { @@ -19,7 +19,28 @@ "metadata": {}, "outputs": [], "source": [ - "pass" + "import json # Modul für JSON-Dateien\n", + "from collections import Counter # wir wollen wieder etwas zählen\n", + "\n", + "def count_words(counter, lines): # eine Funktion zum Wörterzählen\n", + " \"\"\"Zählt die Vorkommen der Wörter in lines.\n", + " counter: ein Zählobjekt (collections.Counter)\n", + " lines: eine Liste von Zeichenketten\n", + " \"\"\"\n", + " for line in lines: # alle Zeilen durchlaufen\n", + " for word in line.split(): # Zeichenketten in Wörter aufteilen\n", + " counter[word] += 1 # Vorkommen des Wortes zählen\n", + "\n", + "\n", + "nb = json.load(open(\"seminar11.ipynb\", \"r\")) # Jupyter-Notebooks sind JSON-Dateien!\n", + "counter = Counter() # zählt Vorkommen von Wörtern\n", + "\n", + "for c in nb[\"cells\"]: # über alle Zellen iterieren\n", + " if c[\"cell_type\"] == \"markdown\": # für jede Markdown-Zelle ...\n", + " count_words(counter, c[\"source\"]) # Wörter im Text zählen\n", + "\n", + "for word, freq in counter.most_common(10): # die zehn häufigsten Wörter finden ...\n", + " print(word, freq, sep='\\t') # und ausgeben" ] }, {