diff --git a/notebooks/hausaufgabe3.ipynb b/notebooks/hausaufgabe3.ipynb
index 2ae8b9613bea7273d41e99a1704e4f26d84135e3..9bf4c8f716af20d25d176ba967964fadbfd3907a 100644
--- a/notebooks/hausaufgabe3.ipynb
+++ b/notebooks/hausaufgabe3.ipynb
@@ -191,9 +191,9 @@
     "70 p   71 q   72 r   73 s   74 t   75 u   76 v   77 w   78 x   79 y   7a z   7b {   7c |   7d }   7e ~   \n",
     "```\n",
     "\n",
-    "Lesen Sie sich den Exkurs am Anfang des [5. Kapitels](https://scm.cms.hu-berlin.de/ibi/python/blob/master/notebooks/seminar05.ipynb) durch und versuchen Sie zu verstehen, wie die Funktion `dez_zu_allem` funktioniert. Dazu sollte es reichen, die Funktion mit verschiedenen Eingaben aufzurufen und zu verstehen, wie die jeweilige Ausgabe mit der Eingabe zusammenhängt. (Der Parameter `s` stellt das Alphabet für ein Positionssystem dar, wobei alle Zeichen einfach hintereinander als Zeichenkette erwartet werden.) \n",
+    "Lesen Sie sich den Exkurs am Anfang des [7. Kapitels](https://scm.cms.hu-berlin.de/ibi/python/blob/master/notebooks/seminar07.ipynb) durch und **versuchen Sie zu verstehen, wie die Funktion `dez_zu_allem` funktioniert**. Dazu sollte es reichen, die Funktion mit verschiedenen Eingaben aufzurufen und zu verstehen, wie die jeweilige Ausgabe mit der Eingabe zusammenhängt. (Der Parameter `s` stellt das Alphabet für ein Positionssystem dar, wobei alle Zeichen einfach hintereinander als Zeichenkette erwartet werden.) \n",
     "\n",
-    "Kopieren Sie sich die Funktion `dez_zu_allem` hierher und rufen Sie sie mit dem Dezimalcode für das Zeichen 'B' auf (diesen finden Sie in der ASCII-Tabelle aus der Vorlesung), so dass der Wert als Hexadezimalzahl zurückgegeben wird. Geben Sie diese Hexadezimalzahl mit `print` aus. (Es sollte '42' ausgegeben werden.)"
+    "Rufen Sie die Funktion mit dem Dezimalcode für das Zeichen 'B' auf (diesen finden Sie in der ASCII-Tabelle aus der Vorlesung), so dass der Wert als Hexadezimalzahl zurückgegeben wird. Geben Sie diese Hexadezimalzahl mit `print` aus. (Es sollte '42' ausgegeben werden.)"
    ]
   },
   {
@@ -202,7 +202,11 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "# Fügen Sie hier die Funktion `dez_zu_allem` ein und rufen Sie die Funktion testweise auf"
+    "# Hilfsfunktion aus Kapitel 7\n",
+    "def dez_zu_allem(n, s):\n",
+    "    if n == 0:\n",
+    "        return \"\"\n",
+    "    return dez_zu_allem(n // len(s), s) + s[n % len(s)]"
    ]
   },
   {
diff --git a/notebooks/seminar07.ipynb b/notebooks/seminar07.ipynb
index f5a98f4df807d3e0a0edf7c803c686c702bd1b5c..de8528e229c1608ff25f4403e097074d765c282c 100644
--- a/notebooks/seminar07.ipynb
+++ b/notebooks/seminar07.ipynb
@@ -302,7 +302,22 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "# rekursive Variante aus seminar05.ipynb\n",
     "def print_n(s, n):\n",
+    "    if n <= 0: # Abbruchbedingung\n",
+    "        return\n",
+    "    print(s)\n",
+    "    print_n(s, n-1) # rekursiver Aufruf"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def print_n(s, n):\n",
+    "    pass\n",
     "    # Implementieren Sie hier die Funktion mit Hilfe einer Schleife und ohne Rekursion\n",
     "    \n",
     "\n",