diff --git a/notebooks/seminar04.ipynb b/notebooks/seminar04.ipynb index 08fc844059880e4e4ed36ae139e7108525a93ff4..ddb270029cc2db5ccc271ee243686787fe32fa47 100644 --- a/notebooks/seminar04.ipynb +++ b/notebooks/seminar04.ipynb @@ -50,33 +50,33 @@ "\n", "Da das `turtle`-Modul in Jupyter-Notebooks eventuell nicht so gut funktioniert, kann es von Vorteil sein, `turtle` über die Kommandozeile aufzurufen. Dies ist prinzipell auf allen Betriebssystemen möglich, aber auf Linux und MacOS deutlich einfacher als auf Windows.\n", "\n", - "Falls Sie Linux nutzen, sollte Python bereits installiert sein. Um das gewünschte Programm zu öffnen tuen Sie folgendes: \n", - "1. Speichern Sie das Programm, das sie aufrufen möchten als Python Programm (.py)\n", - "2. Öffnen Sie die Kommandozeile\n", - "3. Gehen Sie entweder in das Verzeichnis, in dem das Programm gespeichert ist, dafür geben Sie `cd /pfad/zum/verzeichnis` ein. \n", + "Falls Sie Linux nutzen, sollte Python bereits installiert sein. Um das gewünschte Programm zu öffnen tun Sie folgendes: \n", + "1. Speichern Sie das Programm, das sie aufrufen möchten als Python-Programm mit der Dateiendung `.py`.\n", + "2. Öffnen Sie die Kommandozeile.\n", + "3. Gehen Sie in das Verzeichnis, in dem das Programm gespeichert ist. Geben Sie dafür `cd /pfad/zum/verzeichnis` ein. \n", "4. Geben Sie auf der Kommandozeile `python programm.py` ein\n", - "5. Alternativ können Sie auch `python /pfad/zum/verzeichnis/programm.py` eingeben. \n", + "5. Alternativ können Sie auch direkt `python /pfad/zum/verzeichnis/programm.py` eingeben. \n", "\n", "Falls Sie MacOS verwenden, gehen Sie folgendermaßen vor:\n", - "1. Speichern Sie das Programm, dass Sie aufrufen möchten als Python Programm (.py)\n", + "1. Speichern Sie das Programm, dass Sie aufrufen möchten als Python-Programm mit der Dateiendug `.py`.\n", "2. Öffnen Sie das Terminal\n", - "3. Gehen Sie in das Verzeichnis, in welchem das Programm gespeichert ist, indem sie `cd pfad/zum/verzeichnis`eingeben\n", - "4. Geben Sie im Termial`python programm.py` ein.\n", + "3. Gehen Sie in das Verzeichnis, in welchem das Programm gespeichert ist, indem sie `cd /pfad/zum/verzeichnis`eingeben\n", + "4. Geben Sie im Termial `python programm.py` ein.\n", "\n", "Falls Sie Windows verwenden, brauchen Sie beim ersten Aufruf etwas länger und müssen zusätzliche Schritte vornehmen, bei weiterer Verwendung springen Sie direkt zu Punkt 2 der Anleitung:\n", - "1. Fügen Sie Python zur PATH- Umgebung hinzu: \n", - " 1.1. Finden Sie heraus wo Anaconda und Python gespeichert sind. (Dafür geben sie im Anaconda Prompt `where anaconda`und `where python` ein) \n", + "1. Fügen Sie Python zur PATH-Umgebung hinzu: \n", + " 1.1. Finden Sie heraus wo Anaconda und Python gespeichert sind. (Dafür geben sie im Anaconda Prompt `where anaconda`und `where python` ein.) \n", " 1.2. Öffnen Sie den Explorer und öffnen Sie das Rechtsklick-Menü von `Dieser PC` \n", " 1.3. Wählen Sie Eigenschaften \n", " 1.4. Wählen Sie Erweiterte Systemeinstellungen \n", " 1.5. Wählen Sie Umgebungsvariablen \n", - " 1.6. Klicken Sie `Path`im unteren fenster an und dann auf `bearbeiten` \n", + " 1.6. Klicken Sie `Path` im unteren Fenster an und dann auf `bearbeiten` \n", " 1.7. Klicken Sie auf `neu`und fügen Sie den Pfad für `Anaconda` hinzu, aber lassen Sie `anaconda.exe` weg \n", - " 1.8. Wiederholen Sie dasselbe analog für den `Python` Pfad, dabei lassen Sie `python.exe` weg. \n", - " 1.9. Klicken Sie 2 mal okay und schließen Sie die Systemsteuerung \n", - " 1.10. Öffnen Sie die Kommandozeile (`cmd` in der Suchleiste eingeben und `enter` drücken) und geben sie `python` oder `python.exe` ein. Wenn Sie Erfolg hatten, öffnet sich Python und Sie könnten in der Kommandozeile programmieren. \n", + " 1.8. Wiederholen Sie dasselbe analog für den `Python`-Pfad, dabei lassen Sie `python.exe` weg. \n", + " 1.9. Klicken Sie zwei mal okay und schließen Sie die Systemsteuerung \n", + " 1.10. Öffnen Sie die Kommandozeile (`cmd` in der Suchleiste eingeben und `enter` drücken) und geben sie `python` oder `python.exe` ein. Wenn Sie Erfolg hatten, öffnet sich Python und Sie können in der Kommandozeile programmieren. \n", " 1.11. Verlassen Sie `python` indem sie `exit()` eingeben. \n", - "2. Speichern Sie das Programm, das sie aufrufen möchten als Python Programm (.py)\n", + "2. Speichern Sie das Programm, das sie aufrufen möchten als Python-Programm mit der Dateiendung `.py`.\n", "3. Geben Sie in der Kommandozeile `python.exe` und den Pfad zu Ihrem Programm ein (also `C:\\Users\\IhrName\\Documents\\nested\\programm.py`)" ] }, @@ -105,9 +105,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Es sollte sich ein Fenster öffnen, in dem ein kleiner Pfeil zu sehen ist -- dieser repräsentiert die Schildkröte (\"turtle\"). Schließen Sie das Fenster.\n", + "Es sollte sich ein Fenster öffnen, in dem ein kleiner Pfeil zu sehen ist -- dieser repräsentiert die Schildkröte (\"turtle\"). Schließen Sie das Fenster. (Danach erscheint ggf. eine Fehlermeldung -- nicht erschrecken, diese ist im Allgemeinen harmlos.) \n", "\n", - "*(Hinweis: In Jupyter gibt es manchmal Probleme mit dem `turtle`-Modul. Dann hilft es, das Turtle-Fenster zu schließen und den Code nochmal auszuführen oder im Kernel-Menü den Punkt \"Restart & Clear Output\" aufzurufen. Wenn es gar nicht klappt, dann nutzen Sie für die Turtle-Programmierung bitte nicht Jupyter-Notebooks, sondern Python-Dateien und führen diese direkt mit Python aus. \n", + "*(Hinweis: In Jupyter gibt es manchmal Probleme mit dem `turtle`-Modul. **Wichtig ist, dass Sie stets das Turtle-Fenster schließen.** Manchmal hilft es, den Code nochmal auszuführen oder im Kernel-Menü den Punkt \"Restart & Clear Output\" aufzurufen. Wenn es gar nicht klappt, dann nutzen Sie für die Turtle-Programmierung bitte nicht Jupyter-Notebooks, sondern Python-Dateien und führen diese direkt mit Python aus. \n", "Manchmal vergisst Jupyter Notebooks auch, dass bereits eine Schildkröte existiert, in diesem Fall initialisieren Sie diese bitte einfach am Anfang des gewünschten Code-Blocks)*\n", "\n", "Probieren Sie nun folgendes (am besten in einem eigenen Jupyter-Notebook, einer eigenen Python-Datei, oder im folgenden Block, den Sie dann schrittweise ergänzen):" @@ -138,7 +138,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Das `turtle`-Modul (mit kleinem `t`) stellt eine Funktion `Turtle` (mit großem `T`) bereit, die ein Turtle-Objekt erzeugt - dieses weisen wir einer Variable mit dem Namen `bob` zu. Wenn wir `bob` mit `print` ausgeben, erhalten wir eine Ausgabe ähnlich\n", + "Das `turtle`-Modul (mit kleinem `t`) stellt eine Funktion `Turtle` (mit großem `T`) bereit, die ein Turtle-Objekt erzeugt -- dieses weisen wir einer Variable mit dem Namen `bob` zu. Wenn wir `bob` mit `print` ausgeben, erhalten wir eine Ausgabe ähnlich\n", "\n", "```\n", "<turtle.Turtle object at 0xb7bfbf4c>\n", @@ -247,7 +247,10 @@ "\n", "for i in range(4):\n", " bob.fd(100)\n", - " bob.lt(90)" + " bob.lt(90)\n", + "\n", + "turtle.mainloop() \n", + "turtle.bye()" ] }, { @@ -823,7 +826,7 @@ "import turtle\n", "bob=turtle.Turtle()\n", "\n", - "# Damit diese Lösung funktioniert müssen def arc und def polyline bekannt sein.\n", + "# Damit diese Lösung funktioniert müssen die Funktionen arc und polyline schon definiert worden sein.\n", "\n", "def blatt(t, r, angle):\n", " for i in range (2):\n", @@ -836,7 +839,10 @@ " blatt (t,r,angle)\n", " t.lt(360/n)\n", "\n", - "blume(bob,60.0,60.0,5)" + "blume(bob,60.0,60.0,5)\n", + "\n", + "turtle.mainloop() \n", + "turtle.bye()" ] }, { @@ -889,6 +895,8 @@ "import math\n", "import turtle\n", "\n", + "# Arbeiten Sie diese Lösung durch und kommentieren Sie die einzelnen Schritte\n", + "\n", "def stück (t,r, angle):\n", " c=2*r*(math.sin(angle*math.pi/180))\n", " t.rt(angle)\n", @@ -900,8 +908,6 @@ " t.lt(180-angle)\n", "\n", "\n", - "\n", - "\n", "def kuchen (t, n, r):\n", " angle=360/n\n", " for i in range (n):\n", @@ -909,14 +915,13 @@ " t.lt(angle)\n", " turtle.mainloop()\n", " turtle.bye()\n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", "bob=turtle.Turtle() \n", - "kuchen(bob,4,40,40)" + "kuchen(bob, 5, 100)\n", + "\n", + "turtle.mainloop() \n", + "turtle.bye()" ] }, {