From 901bee673848341aa8aa4fe5060cc342abf69dc9 Mon Sep 17 00:00:00 2001 From: schwabmi <michel.j.schwab@gmail.com> Date: Mon, 8 Nov 2021 15:12:14 +0100 Subject: [PATCH] added small changes in first homework --- notebooks/hausaufgabe1.ipynb | 40 ++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/notebooks/hausaufgabe1.ipynb b/notebooks/hausaufgabe1.ipynb index f0c3541..bb5b19d 100644 --- a/notebooks/hausaufgabe1.ipynb +++ b/notebooks/hausaufgabe1.ipynb @@ -24,6 +24,8 @@ "\n", "Nutzen Sie das Wissen aus den bisher bearbeiteten Notebooks (1-3). \n", "\n", + "Es reicht, wenn ein Gruppenmitglied die Hausaufgabe einreicht.\n", + "\n", "Wir wünschen viel Erfolg beim Lösen der Aufgaben!\n", "\n", "**Tipp**: Nutzen Sie http://pythontutor.com, um ihren Code nachvollziehen zu können und Fehler zu finden!" @@ -37,9 +39,9 @@ "\n", "Was gibt jede der folgenden Anweisungen aus? Erklären Sie jeweils die Ausgabe. \n", "Welche Funktionen werden genutzt und was machen diese Funktionen?\n", - "Entweder Sie nutzen Kommentare (mit Hilfe von der Raute #) im Code oder Sie schreiben die Antworten in eine extra Markdown Zeile.\n", + "Nutzen Sie entweder Kommentare (mit Hilfe von der Raute #) im Code oder Sie schreiben die Antworten in eine extra Markdown Zeile.\n", "\n", - "Falls Sie Kommentare nutzen, nehmen Sie **mehrere Zeilen pro Anweisung, damit ihre Antwort in die Breite der Codezelle passt** und man nicht hin- und herscrollen muss. (Sie finden heraus, was ich meine, wenn es passiert ;) )\n" + "Falls Sie Kommentare (#) nutzen, nehmen Sie **mehrere Zeilen pro Anweisung, damit Ihre Antwort in die Breite des Codeblocks passt** und man nicht hin- und herscrollen muss. (Sie finden heraus, was ich meine, wenn es passiert ;) )\n" ] }, { @@ -83,7 +85,7 @@ "## Aufgabe 2\n", "### Aufgabe 2a\n", "\n", - "**Tipp**: Wichtig bei den folgenden Aufgaben ist der Umgang mit Zeichenketten und der `print`-Funktion. Das haben Sie in den seminar-Notebooks schon gelernt. Gehen Sie diese zu Beginn der Hausaufgabe noch einmal durch und achten Sie, mit welchen **Operatoren** man Zeichenketten zusammenfügen und manipulieren kann.\n", + "**Tipp**: Wichtig bei den folgenden Aufgaben ist der Umgang mit Zeichenketten und der `print`-Funktion. Das haben Sie in den seminar-Notebooks schon gelernt. Gehen Sie diese zu Beginn der Hausaufgabe noch einmal durch und achten Sie, mit welchen **Operatoren** man Zeichenketten zusammenfügen und verketten kann.\n", "\n", "\n", "Ihre Aufgabe ist es, eine Funktion `boxprint` zu implementieren, die eine als Argument übergegebene Zeichenkette innerhalb einer Box ausgibt. Die horizontalen Linien der Box sollen durch `-` erzeugt werden, die vertikalen Linien durch `|` und die Ecken durch `+`. Zwischen der Zeichenkette und dem linken und rechten Rand der Box soll jeweils genau ein Leerzeichen stehen. \n", @@ -196,7 +198,8 @@ "source": [ "def stegosay(z):\n", " '''Diese Funktion nimmt als Argument eine Zeichenkette entgegen und gibt \n", - " die Zeichenkette als Denkblase eines Dinos wieder aus.\n", + " die Zeichenkette als Denkblase eines Dinos wieder aus. \n", + " In dieser Funktion soll der Dinosaurier inklusive der Denkblase ausgegeben werden.\n", " ''' \n", "\n" ] @@ -261,7 +264,22 @@ "- Sie müssen selbst entscheiden, wieviele Werte Sie im verlangten Intervall berechnen. Die Kurve oben wurde mit einem Rasterabstand von 0.2 berechnet (d.h., für die Werte 0, 0.2, 0.4, 0.6, ..., 6.2). \n", "- Denken Sie daran, dass Sie mit der `int`-Funktion eine Gleitkommazahl in eine ganze Zahl umwandeln können (der Dezimalanteil wird abgeschnitten).\n", "- Damit Sie die Funktion `math.sin` nutzen können, müssen Sie anfangs das `math`-Modul importieren.\n", - "- Falls Sie das Problem nicht lösen können, fragen Sie im Seminar nach. Dort können Sie wertvolle Tipps erhalten." + "- Falls Sie das Problem nicht lösen können, fragen Sie im Seminar nach. Dort können Sie wertvolle Tipps erhalten.\n", + "\n", + "Tipp: Nutzen Sie die `print`-Funktion, um die Sternchen an verschiedenen Stellen zu zeichnen." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Beispiel einer einfachen while-Schleife\n", + "i = 0\n", + "while i < 5:\n", + " print(i)\n", + " i = i + 1" ] }, { @@ -270,10 +288,11 @@ "metadata": {}, "outputs": [], "source": [ + "import math\n", "\n", "def sinprint():\n", " '''Implementieren Sie hier ihre Funktion. Dieses Kommentar können Sie löschen. \n", - " Diese Funktion kann man ohne Argument implementieren. Wenn es für Sie einfacher ist, \n", + " Diese Funktion kann man ohne Parameter implementieren. Wenn es für Sie einfacher ist, \n", " können Sie gerne eins hinzufügen.\n", " ''' \n", "\n", @@ -311,9 +330,11 @@ "metadata": {}, "outputs": [], "source": [ + "import math\n", + "\n", "def funcprint():\n", " '''Implementieren Sie hier ihre Funktion. Dieses Kommentar können Sie löschen. \n", - " Das/Die Argument/e müssen Sie sich dieses Mal selbst überlegen.\n", + " Der/Die Parameter müssen Sie sich dieses Mal selbst überlegen. Geben Sie den Parametern sinvolle Namen.\n", " ''' \n", "\n", "\n", @@ -338,7 +359,6 @@ "Wenn alles geklappt hat, enthält Ihre Funktion jetzt einige Werte, die als Literale angegeben sind, z.B.\n", "- den Anfangs- und Endwert des Intervalls, in dem die Funktion gezeichnet werden soll\n", "- die Schrittweite\n", - "- die Skalierung (Vergrößerung)\n", "- die Verschiebung des Nullpunkts\n", "\n", "Ändern Sie die Funktion `funcprint`, so dass alle diese Werte als Argumente übergeben werden können. Testen Sie die Funktion dann mit der Funktion `math.log` als Argument. Dafür müssen Sie den Anfangswert so ändern, dass 0 nicht enthalten ist (da der Logarithmus von 0 nicht definiert ist)." @@ -350,9 +370,11 @@ "metadata": {}, "outputs": [], "source": [ + "import math\n", + "\n", "def funcprint_advanced():\n", " '''Implementieren Sie hier ihre Funktion. Dieses Kommentar können Sie löschen. \n", - " Das/Die Argument/e müssen Sie sich dieses Mal selbst überlegen.\n", + " Der/Die Parameter müssen Sie sich dieses Mal selbst überlegen. Geben Sie den Parametern sinvolle Namen.\n", " ''' " ] }, -- GitLab