From 39f4de5790c65e2f898f311db154e6af803c84dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20J=C3=A4schke?= <jaeschke@l3s.de> Date: Mon, 26 Oct 2020 08:38:57 +0100 Subject: [PATCH] =?UTF-8?q?+Exkurs=20f=C3=BCr=20Seminar=2011=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notebooks/seminar06.ipynb | 2 -- notebooks/seminar11.ipynb | 25 +++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/notebooks/seminar06.ipynb b/notebooks/seminar06.ipynb index 413df13..1808c43 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 f4aabc0..d7eb268 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" ] }, { -- GitLab