diff --git a/notebooks/hausaufgabe1.ipynb b/notebooks/hausaufgabe1.ipynb index 7bd993e176938915091f7bf81bdeec65752be79b..cee4aa736a9218bf094537589590c40ad47ed6d2 100644 --- a/notebooks/hausaufgabe1.ipynb +++ b/notebooks/hausaufgabe1.ipynb @@ -50,7 +50,45 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Erweiterung für Fortgeschrittene: Erweitern Sie die Funktion um ein Argument, mit dem eine maximale Breite (Anzahl Zeichen) übergeben werden kann, so dass die ausgegebene Box nicht breiter ist. Implementieren Sie dann die Behandlung von Zeichenketten, die länger als die vorgegebene Breite sind. Sie haben zwei Möglichkeiten: a) die Zeichenkette abschneiden, b) die Zeichenkette umbrechen. Entscheiden Sie sich für eine der beiden Varianten. Hinweis: Auf die ersten `k` Zeichen einer Zeichenkette `s` können Sie mittels `s[0:k]` zugreifen. Analog können Sie auf das 2. bis 4. Zeichen mittels `s[1:4]` zugreifen, usw." + "Mit dem Linux-Programm [cowsay](https://en.wikipedia.org/wiki/Cowsay) kann man verschiedene Tiere \"Sprüche klopfen\" lassen:\n", + "\n", + "```\n", + " ________\n", + "< Muuuh! >\n", + " --------\n", + " \\ ^__^\n", + " \\ (oo)\\_______\n", + " (__)\\ )\\/\\\n", + " ||----w |\n", + " || ||\n", + "```\n", + "\n", + "Schreiben Sie eine Funktion `stegosay`, die einen als Argument übergebenen Text folgendermaßen ausgibt:\n", + "\n", + "```\n", + " ___________________________\n", + "( Wo bleibt mein Frühstück? )\n", + " ---------------------------\n", + "o . .\n", + " o / `. .' \" \n", + " o .---. < > < > .---.\n", + " o | \\ \\ - ~ ~ - / / |\n", + " _____ ..-~ ~-..-~\n", + " | | \\~~~\\.' `./~~~/\n", + " --------- \\__/ \\__/\n", + " .' O \\ / / \\ \" \n", + " (_____, `._.' | } \\/~~~/\n", + " `----. / } | / \\__/\n", + " `-. | / | / `. ,~~|\n", + " ~-.__| /_ - ~ ^| /- _ `..-' \n", + " | / | / ~-. `-. _ _ _\n", + " |_____| |_____| ~ - . _ _ _ _ _>\n", + "```\n", + "\n", + "Nutzen Sie dazu Ihre bei der Programmierung von `boxprint` gesammelte Erfahrung.\n", + "\n", + "\n", + "Freiwillige Erweiterung für Fortgeschrittene: Erweitern Sie die Funktion um ein Argument, mit dem eine maximale Breite (Anzahl Zeichen) übergeben werden kann, so dass die ausgegebene Box nicht breiter ist. Implementieren Sie dann die Behandlung von Zeichenketten, die länger als die vorgegebene Breite sind. Sie haben zwei Möglichkeiten: a) die Zeichenkette abschneiden, b) die Zeichenkette umbrechen. Entscheiden Sie sich für eine der beiden Varianten. Hinweis: Auf die ersten `k` Zeichen einer Zeichenkette `s` können Sie mittels `s[0:k]` zugreifen. Analog können Sie auf das 2. bis 4. Zeichen mittels `s[1:4]` zugreifen, usw." ] }, {