From 5258c080bb2c396e543164a1b7858d219b056556 Mon Sep 17 00:00:00 2001 From: DerGrumpf Date: Fri, 1 Nov 2024 13:40:56 +0100 Subject: [PATCH] 3. Vorlesung --- .obsidian/templates.json | 4 + .obsidian/workspace.json | 100 +- Gruppen/Engineering 1.md | 20 + Gruppen/MeWi 1.md | 20 + Gruppen/MeWi 2.md | 20 + Gruppen/MeWi 3.md | 20 + Gruppen/MeWi 4.md | 20 + Gruppen/MeWi 5.md | 20 + Gruppen/MeWi 6.md | 20 + Gruppen/MeWi 7 (DiKum).md | 20 + Lectures/03 01.11.2024.md | 21 +- Material/2.vorlesung.html | 9283 +++++++++++++++++ Material/2.vorlesung.ipynb | 1614 +-- Material/2.vorlesung.slides.html | 9262 ++++++++++++++++ Material/3.Vorlesung.ipynb | 916 ++ Material/3.Vorlesung.slides.html | 8309 +++++++++++++++ .../lernmaterial/Einführung/Tut_2.ipynb | 4 +- Template/Gruppe.md | 20 + To Do.md | 7 + submissions.xlsx | Bin 0 -> 9507 bytes 20 files changed, 28984 insertions(+), 716 deletions(-) create mode 100644 .obsidian/templates.json create mode 100644 Gruppen/Engineering 1.md create mode 100644 Gruppen/MeWi 1.md create mode 100644 Gruppen/MeWi 2.md create mode 100644 Gruppen/MeWi 3.md create mode 100644 Gruppen/MeWi 4.md create mode 100644 Gruppen/MeWi 5.md create mode 100644 Gruppen/MeWi 6.md create mode 100644 Gruppen/MeWi 7 (DiKum).md create mode 100644 Material/2.vorlesung.html create mode 100644 Material/2.vorlesung.slides.html create mode 100644 Material/3.Vorlesung.ipynb create mode 100644 Material/3.Vorlesung.slides.html create mode 100644 Template/Gruppe.md create mode 100644 submissions.xlsx diff --git a/.obsidian/templates.json b/.obsidian/templates.json new file mode 100644 index 0000000..0522eba --- /dev/null +++ b/.obsidian/templates.json @@ -0,0 +1,4 @@ +{ + "folder": "Template", + "dateFormat": "DD.MM.YYYY" +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 4278168..cf67809 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -41,16 +41,58 @@ "state": { "type": "markdown", "state": { - "file": "Lectures/17 21.02.2025.md", + "file": "Template/Gruppe.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "17 21.02.2025" + "title": "Gruppe" + } + }, + { + "id": "91e68fc77697e0f9", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Gruppen/MeWi 1.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "MeWi 1" + } + }, + { + "id": "d4d973e0d0e2e072", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Gruppen/MeWi 2.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "MeWi 2" + } + }, + { + "id": "91b08793b1132c55", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Lectures/03 01.11.2024.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "03 01.11.2024" } } ], - "currentTab": 2 + "currentTab": 5 } ], "direction": "vertical" @@ -213,23 +255,42 @@ "table-editor-obsidian:Advanced Tables Toolbar": false } }, - "active": "a5dbdd4d7f31f3f3", + "active": "91b08793b1132c55", "lastOpenFiles": [ - "Lectures/16 14.02.2025.md", - "Lectures/17 21.02.2025.md", + "Material/3.Vorlesung.slides.html", + "Material/3.Vorlesung.ipynb", + "Material/Untitled.ipynb", "Lectures/02 25.10.2024.md", "To Do.md", + "README.md", + "Lectures/03 01.11.2024.md", + "Gruppen/MeWi 7 (DiKum).md", + "Gruppen/MeWi 6.md", + "Gruppen/MeWi 5.md", + "Gruppen/MeWi 4.md", + "Gruppen/MeWi 3.md", + "Gruppen/MeWi 2.md", + "Gruppen/MeWi 1.md", + "Gruppen/Engineering 1.md", + "Umfrage.md", + "Template/Gruppe.md", + "Template/Lecture.md", + "Gruppen", + "Material/README.md", + "Material/ToDo.md", + "Material/wise_24_25/lernmaterial/meme.png", + "Material/wise_24_25/lernmaterial/meme.webp", + "Student List.md", "Timetable.md", + "Lectures/17 21.02.2025.md", + "Lectures/16 14.02.2025.md", "Material/2.vorlesung.ipynb", - "Material/Untitled.ipynb", "Material/env/etc/jupyter/labconfig/page_config.json", "Material/env/etc/jupyter/labconfig", "Material/env/lib/python3.12/site-packages/jupyter-1.1.1.dist-info/top_level.txt", "Material/env/lib/python3.12/site-packages/jupyter-1.1.1.dist-info/WHEEL", "Material/env/lib/python3.12/site-packages/jupyter-1.1.1.dist-info/REQUESTED", "Material/env/lib/python3.12/site-packages/jupyter-1.1.1.dist-info/RECORD", - "Material/env/lib/python3.12/site-packages/jupyter-1.1.1.dist-info/METADATA", - "Material/env/lib/python3.12/site-packages/jupyter-1.1.1.dist-info/LICENSE", "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/bootstrap/fonts/glyphicons-halflings-regular.svg", "Material/env/lib/python3.12/site-packages/nbgrader/docs/source/user_guide/submitted/hacker/ps1/jupyter.png", "Material/env/lib/python3.12/site-packages/nbgrader/docs/source/user_guide/submitted/bitdiddle/ps1/jupyter.png", @@ -241,25 +302,6 @@ "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/underscore/README.md", "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/jquery-color/README.md", "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/jquery/README.md", - "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/datatables.net-bs/Readme.md", - "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/datatables.net/Readme.md", - "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/bootstrap/README.md", - "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/backbone/README.md", - "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/autosize/readme.md", - "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/autosize/changelog.md", - "Material/env/lib/python3.12/site-packages/nbgrader/docs/source/user_guide/source/ps1_autotest/jupyter.png", - "Material/env/lib/python3.12/site-packages/nbgrader/docs/source/user_guide/source/ps1/jupyter.png", - "Material/env/lib/python3.12/site-packages/nbgrader/docs/source/changelog.md", - "Material/env/lib/python3.12/site-packages/jupyter_server/i18n/README.md", - "Material/env/lib/python3.12/site-packages/nbconvert/templates/skeleton/README.md", - "Material/env/lib/python3.12/site-packages/nbconvert/templates/README.md", - "Material/env/lib/python3.12/site-packages/httpx-0.27.2.dist-info/licenses/LICENSE.md", - "Material/env/lib/python3.12/site-packages/httpcore-1.0.6.dist-info/licenses/LICENSE.md", - "Material/env/lib/python3.12/site-packages/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md", - "Material/env/lib/python3.12/site-packages/idna-3.10.dist-info/LICENSE.md", - "Material/env/lib/python3.12/site-packages/numpy/random/LICENSE.md", - "Material/env/lib/python3.12/site-packages/zmq/backend/cffi/README.md", - "Material/env/lib/python3.12/site-packages/pyzmq-26.2.0.dist-info/licenses/LICENSE.md", - "Material/env/lib/python3.12/site-packages/soupsieve-2.6.dist-info/licenses/LICENSE.md" + "Material/env/lib/python3.12/site-packages/nbgrader/server_extensions/formgrader/static/components/datatables.net-bs/Readme.md" ] } \ No newline at end of file diff --git a/Gruppen/Engineering 1.md b/Gruppen/Engineering 1.md new file mode 100644 index 0000000..8b62ebb --- /dev/null +++ b/Gruppen/Engineering 1.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| -------------- | ------ | ------------ | -------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| Janna Heiny | | | | [j.heiny@tu-braunschweig.de](mailto:j.heiny@tu-braunschweig.de) | +| Milena Krieger | | | | [m.krieger@tu-braunschweig.de](mailto:m.krieger@tu-braunschweig.de) | +| Xiaowei Wang | | | 39dc5bd7686c3280247aacee82c9818e | [xiaowei.wang@tu-braunschweig.de](mailto:xiaowei.wang@tu-braunschweig.de) | +| | | | | | +| | | | | | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 1.md b/Gruppen/MeWi 1.md new file mode 100644 index 0000000..cc822e8 --- /dev/null +++ b/Gruppen/MeWi 1.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| -------------- | ------ | ------------ | -------------------------------- | ----------------------------------------------------------------------------- | +| Sarina Apel | | | fa3a81b6a4251c0519004ede775a1b21 | [s.apel@tu-braunschweig.de](mailto:s.apel@tu-braunschweig.de) | +| Leonie Manthey | 28.5 | | 795801e6569e1edbcb4546f759c3b1fb | [leonie.manthey@tu-braunschweig.de](mailto:leonie.manthey@tu-braunschweig.de) | +| Natascha Roth | 29.5 | | 9ba71fe1d8252a47871d8b4b4723c833 | [n.rott@tu-braunschweig.de](mailto:n.rott@tu-braunschweig.de) | +| | | | | | +| | | | | | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 2.md b/Gruppen/MeWi 2.md new file mode 100644 index 0000000..20e5b57 --- /dev/null +++ b/Gruppen/MeWi 2.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| ------------------- | ------ | ------------ | -------------------------------- | ----------------------------------------------------------------------- | +| Izabel Mike | 29.5 | | 8c710a24debf6159659d1e58dd975ce2 | [i.mike@tu-braunschweig.de](mailto:i.mike@tu-braunschweig.de) | +| Lara Troschke | 20.5 | | 7b441c67713f2a49811625905612f19b | [l.troschke@tu-braunschweig.de](mailto:l.troschke@tu-braunschweig.de) | +| Inga-Brit Turschner | 25.5 | | 72f0b5fd2cdf4dd808ca9a3add584c75 | [i.turschner@tu-braunschweig.de](mailto:i.turschner@tu-braunschweig.de) | +| | | | | | +| | | | | | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 3.md b/Gruppen/MeWi 3.md new file mode 100644 index 0000000..e468115 --- /dev/null +++ b/Gruppen/MeWi 3.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| ----------------- | ------ | ------------ | --------------- | ----------------------------------------------------------------------------- | +| Fabian Rothberger | | | | [f.rothberger@tu-braunschweig.de](mailto:f.rothberger@tu-braunschweig.de) | +| Flemming Schur | | | | [flemming.schur@tu-braunschweig.de](mailto:flemming.schur@tu-braunschweig.de) | +| Josefine Sinkemat | | | | [j.sinkemat@tu-braunschweig.de](mailto:j.sinkemat@tu-braunschweig.de) | +| | | | | | +| | | | | | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 4.md b/Gruppen/MeWi 4.md new file mode 100644 index 0000000..cc356d3 --- /dev/null +++ b/Gruppen/MeWi 4.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| ------------------ | ------ | ------------ | --------------------------------------------------------------------- | ----------------------------------------------------------------- | +| Nova Eib | 31 | | b313c08a73772a8237e0593ec5c3ee27 | [n.eib@tu-braunschweig.de](mailto:n.eib@tu-braunschweig.de) | +| Julia Renner | | | | [j.renner@tu-braunschweig.de](mailto:j.renner@tu-braunschweig.de) | +| Isabel Rudolf | | | 4306ac2b1bf2fe7189d53aad469 | [i.rudolf@tu-braunschweig.de](mailto:i.rudolf@tu-braunschweig.de) | +| Katharina Walz | 31 | | 6349002488dfe4343537174fb9381f95 | [k.walz@tu-braunschweig.de](mailto:k.walz@tu-braunschweig.de) | +| Unsichtbare Person | | | | | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 5.md b/Gruppen/MeWi 5.md new file mode 100644 index 0000000..af9f320 --- /dev/null +++ b/Gruppen/MeWi 5.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| -------------- | ------ | ------------ | -------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| Vikoria Litza | | | | [v.litza@tu-braunschweig.de](mailto:v.litza@tu-braunschweig.de) | +| Lea Noglik | | | f24ccc1cefe390cd1036419b89f31d4f | [l.noglik@tu-braunschweig.de](mailto:l.noglik@tu-braunschweig.de) | +| Donika Nuhiu | | | | [d.nuhiu@tu-braunschweig.de](mailto:d.nuhiu@tu-braunschweig.de) | +| Alea Unger | 30 | | f8c2ba8abf5b7d89a240902634a5c53a | [a.unger@tu-braunschweig.de](mailto:a.unger@tu-braunschweig.de) | +| Marie Wallbaum | | | eec48a6d211105d6f87267fbd428ab69 | [m.wallbaum@tu-braunschweig.de](mailto:m.wallbaum@tu-braunschweig.de) | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 6.md b/Gruppen/MeWi 6.md new file mode 100644 index 0000000..c34e3f0 --- /dev/null +++ b/Gruppen/MeWi 6.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| --------------- | ------ | ------------ | -------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| Nele Grundke | | | f61621cbe911f21ddd781c21e4528b07 | [n.grundke@tu-braunschweig.de](mailto:n.grundke@tu-braunschweig.de) | +| Julia Limbach | | | | [j.limbach@tu-braunschweig.de](mailto:j.limbach@tu-braunschweig.de) | +| Melina Sablotny | | | 4111400b4ae2c863a1c4b73a21f87093 | [m.sablotny@tu-braunschweig.de](mailto:m.sablotny@tu-braunschweig.de) | +| Lucy Thiele | | | 4c0ddab5bed6ff025cee04f8d73301a3 | [lucy.thiele@tu-braunschweig.de](mailto:lucy.thiele@tu-braunschweig.de) | +| | | | | | + +# Notizen + +# Prüfung diff --git a/Gruppen/MeWi 7 (DiKum).md b/Gruppen/MeWi 7 (DiKum).md new file mode 100644 index 0000000..0fd8cc5 --- /dev/null +++ b/Gruppen/MeWi 7 (DiKum).md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| ------------------- | ------ | ------------ | -------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| Abdalaziz Abunjaila | 30.5 | | 79b388885f89954decaefc9e19aa8871 | [a.abunjaila@tu-braunschweig.de](mailto:a.abunjaila@tu-braunschweig.de) | +| Marleen Adolphi | | | | [m.adolphi@tu-braunschweig.de](mailto:m.adolphi@tu-braunschweig.de) | +| Alea Schleier | | | | [a.schleier@tu-braunschweig.de](mailto:a.schleier@tu-braunschweig.de) | +| Marie Seeger | | | f7017b11a2904a74302c9f4f217779fb | [marie.seeger@tu-braunschweig.de](mailto:marie.seeger@tu-braunschweig.de) | +| Lilly-Lu Warnken | | | | [lilly-lu.warnken@tu-braunschweig.de](mailto:lilly-lu.warnken@tu-braunschweig.de) | + +# Notizen + +# Prüfung diff --git a/Lectures/03 01.11.2024.md b/Lectures/03 01.11.2024.md index 8e91c35..4685430 100644 --- a/Lectures/03 01.11.2024.md +++ b/Lectures/03 01.11.2024.md @@ -8,7 +8,24 @@ tags: - [ ] Ausgabe - Tutorial 2 - [ ] For loops - Container Loops + - [ ] Zähl loops + - [ ] Unterschied zu anderen Programmiersprachen + - [ ] range + - [ ] len + - [ ] _ + - [ ] über liste loopen - [ ] Dictionarys -- [ ] Error Handling + - [ ] .items + - [ ] .values + - [ ] .keys +- [ ] List Comprehension + - [ ] Vergleich mit Mengenlehre + - [ ] Dictionary Comprehension - [ ] System Interactionen -- [ ] Import \ No newline at end of file + - [ ] input + - [ ] open + - [ ] with Context +- [ ] Import + - [ ] std + - [ ] as + - [ ] from \ No newline at end of file diff --git a/Material/2.vorlesung.html b/Material/2.vorlesung.html new file mode 100644 index 0000000..ed794d9 --- /dev/null +++ b/Material/2.vorlesung.html @@ -0,0 +1,9283 @@ + + + + + +2.vorlesung + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + diff --git a/Material/2.vorlesung.ipynb b/Material/2.vorlesung.ipynb index c83b1f9..fdb2070 100644 --- a/Material/2.vorlesung.ipynb +++ b/Material/2.vorlesung.ipynb @@ -3,24 +3,56 @@ { "cell_type": "markdown", "id": "53ef5460-e38f-4d51-92e3-7d680f23d710", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, "source": [ - "# Einführung in die Programmierung für Nicht Informatiker*innen" + "# 2. Einführung in die Programmierung für Nicht Informatiker*innen" ] }, { "cell_type": "markdown", "id": "391a0811-2a99-4cde-8b88-bd7e0c1d6cb8", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "source": [ - "Survey: https://survey.cyperpunk.de/form/GVkRjB" + "Bitte ihre Jupyter Kennung + Vor- & Nachnamen unter folgendem link eintragen [survey](https://survey.cyperpunk.de/form/GVkRjB)" + ] + }, + { + "cell_type": "markdown", + "id": "c39f4116-a533-4d21-87e5-6d24268b995c", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Beispiele Print" ] }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 1, "id": "48342195-b5a8-4298-9f83-2908c8a52821", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -34,14 +66,20 @@ "source": [ "# Beispiel Print\n", "print(\"Hallo\", \"Python\", end='\\n') # Zeigen wie end Funktioniert\n", - "print(\"Freitag 15h\")" + "print(\"Freitag 15h\") # Ausgabe mittels print" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "id": "d08902d2-e454-4f81-bd63-30ef9a33deb2", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -49,20 +87,26 @@ "'Hallo Python'" ] }, - "execution_count": 9, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\"Hallo Python\"" + "\"Hallo Python\" # direkte ausgabe einer Variablen oder Wert" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 3, "id": "63ac2349-5a3d-49f5-b379-ec92ff502694", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -70,7 +114,7 @@ "432423654645" ] }, - "execution_count": 10, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -79,11 +123,31 @@ "432423654645 " ] }, + { + "cell_type": "markdown", + "id": "0b230834-0e94-48ff-9462-5b627726db70", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Variablen zuweisungen" + ] + }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "id": "aa39464e-eaa1-4c8c-bd29-2ca20bc35336", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -91,21 +155,27 @@ "42" ] }, - "execution_count": 12, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "zahl1 = 42\n", + "zahl1 = 42 # 'zahl1' speichert den Wert '42'\n", "zahl1" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 5, "id": "45281ff8-2c07-4774-9f96-e95a5b8f31ae", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -116,14 +186,20 @@ } ], "source": [ - "print(zahl1)" + "print(zahl1) # Ausgabe der Variabeln mittels print" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 6, "id": "c9e3bf85-5b75-4efc-bbcc-9c5de28be421", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -131,7 +207,7 @@ "420" ] }, - "execution_count": 14, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -141,11 +217,31 @@ "zahl2" ] }, + { + "cell_type": "markdown", + "id": "750a84cf-6528-4d1c-9e53-85da156d47a3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Operationen mit Integern (gilt auch für Floats)" + ] + }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 7, "id": "599a7dec-0e03-43a2-92df-a60777a33f03", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -153,25 +249,248 @@ "462" ] }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zahl1 + zahl2 # Addition" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "db143bf7-4d07-4a2b-b30a-b2f9054efeb6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "-378" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zahl1 - zahl2 # Subtraction" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "3b96f637-a5a2-4188-9632-a99faf881f76", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "378" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zahl2 - zahl1 # Order matters" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7dc56688-4dd5-441d-b9f1-2c17028338e6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "17640" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zahl2 * zahl1 # Multiplikation" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "4cb21e7e-f77d-4c5d-afb4-4aa0e7e974e5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "10.0" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zahl2 / zahl1 # Division" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7d941f53-9fa4-494a-9871-bf02ecad97b7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "16" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "2**4 # Exponentiation" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0e6a2cae-c360-454c-a622-37e6fed45879", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "42.42" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "float1 = 42.42 # Fließkommzahl speichern\n", + "float1" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "d360fc12-dfff-498e-95b8-664648fb8442", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "zahl2 // zahl1 # Ganzzahldivision" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "1813dd22-f4f0-499b-92aa-c5f5f95b8a6c", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "zahl1 + zahl2" + "42 % 2 # Modulo (Rest einer Division)" ] }, { "cell_type": "code", "execution_count": 16, - "id": "db143bf7-4d07-4a2b-b30a-b2f9054efeb6", - "metadata": {}, + "id": "87f97c26-4fa2-4192-ae5b-21a6adcb8aa4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { "text/plain": [ - "-378" + "(21, 0)" ] }, "execution_count": 16, @@ -180,162 +499,20 @@ } ], "source": [ - "zahl1 - zahl2" + "divmod(42, 2) # Kombinierte Built-in funktion, welche den Wert der Ganzzahldivision und den Rest berechnet" ] }, { "cell_type": "code", "execution_count": 17, - "id": "3b96f637-a5a2-4188-9632-a99faf881f76", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "378" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "zahl2 - zahl1" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "7dc56688-4dd5-441d-b9f1-2c17028338e6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "17640" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "zahl2 * zahl1" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "4cb21e7e-f77d-4c5d-afb4-4aa0e7e974e5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "10.0" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "zahl2 / zahl1" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "0e6a2cae-c360-454c-a622-37e6fed45879", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "42.42" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "float1 = 42.42\n", - "float1" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "d360fc12-dfff-498e-95b8-664648fb8442", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "10" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "zahl2 // zahl1" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "1813dd22-f4f0-499b-92aa-c5f5f95b8a6c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "42 % 2" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "id": "87f97c26-4fa2-4192-ae5b-21a6adcb8aa4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(21, 0)" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "divmod(42, 2)" - ] - }, - { - "cell_type": "code", - "execution_count": 31, "id": "5a8948ca-8662-43f1-9a1e-cb9bec803380", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -343,7 +520,7 @@ "21.0" ] }, - "execution_count": 31, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -354,9 +531,15 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 18, "id": "f17cc46a-906e-4fe9-9c0a-5cb81e09bcc5", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -364,7 +547,7 @@ "0" ] }, - "execution_count": 32, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -375,9 +558,15 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 19, "id": "a6d36974-b750-41e8-a0b3-a40fdba9f02c", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -385,20 +574,40 @@ "0.30000000000000004" ] }, - "execution_count": 33, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "0.1 + 0.2" + "0.1 + 0.2 # Addition von Floats sind nicht immer akkurat" + ] + }, + { + "cell_type": "markdown", + "id": "73b246a0-f6d9-4e19-9dc3-a5e25efd0c8c", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Booleans" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 20, "id": "99e978bc-b40e-432a-81a0-801391760fb3", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -406,20 +615,26 @@ "False" ] }, - "execution_count": 34, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "0.1 + 0.2 == 0.3" + "0.1 + 0.2 == 0.3 # Nicht richtig aufgrund der unkorrekten binären darstellung von floats" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 21, "id": "fc761a8c-8988-4a20-81a1-28e33f11f138", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -427,20 +642,26 @@ "True" ] }, - "execution_count": 35, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "True" + "True " ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 22, "id": "668ad1b3-741e-46fb-a3af-375861ecbd13", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -448,7 +669,7 @@ "False" ] }, - "execution_count": 36, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -459,9 +680,15 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 23, "id": "0b23648c-1a8a-44e9-9941-a5e0e8b80ffb", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -469,20 +696,40 @@ "2" ] }, - "execution_count": 37, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "True + True" + "True + True # Bools sind auch nur Zahlen (True = 1, False = 0)" + ] + }, + { + "cell_type": "markdown", + "id": "da342349-6c33-4fc6-864f-7171ac6dd029", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Listen" ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 24, "id": "1b91f589-8469-49cf-90ba-af14d638d8eb", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -490,21 +737,27 @@ "['Hallo Python', 42, 10.1]" ] }, - "execution_count": 45, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "l = [\"Hallo Python\", 42, 10.10]\n", + "l = [\"Hallo Python\", 42, 10.10] # Erstellen einer Liste mit 3 elementen\n", "l" ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 25, "id": "678973b3-81ad-48e2-8ab2-c1784440a91c", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -512,21 +765,27 @@ "['Hallo Python', 42, 10.1, 'Text']" ] }, - "execution_count": 47, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "l.append(\"Text\")\n", + "l.append(\"Text\") # Weiteres Element an die liste anfügen\n", "l" ] }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 26, "id": "0c68eb51-c5f1-4650-9032-31f77a72006f", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -534,7 +793,7 @@ "['Hallo Python', 42, 10.1, 'Text']" ] }, - "execution_count": 48, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -545,9 +804,15 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 27, "id": "e41e1c08-b570-4423-a220-c428512ab686", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -555,21 +820,27 @@ "10.1" ] }, - "execution_count": 49, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "g = l[2]\n", + "g = l[2] # Zugriff auf das dritte Element der Liste\n", "g" ] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 28, "id": "6a4dc400-c788-4105-a57d-c42a64bf8928", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -577,20 +848,26 @@ "'Hallo Python'" ] }, - "execution_count": 50, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "l[0]" + "l[0] # Zugriff erstes element der Liste" ] }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 29, "id": "174211ad-dda8-4d43-87a1-eee4d582c47c", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -598,20 +875,26 @@ "42" ] }, - "execution_count": 52, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "l[-3]" + "l[-3] # Auff listen lässt sich auch 'rückwärts' zugreifen" ] }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 30, "id": "8ed1b344-94d0-49d6-8662-ea81d33f9d8f", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -619,21 +902,41 @@ "['Hallo Python', 42, 10.1]" ] }, - "execution_count": 53, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "l.remove('Text')\n", + "l.remove('Text') # Einen Wert aus der Liste entfernen\n", "l" ] }, + { + "cell_type": "markdown", + "id": "5e1f1661-cb9d-464f-be4a-51d838bde23d", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Strings" + ] + }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 31, "id": "a10e3b76-8b0c-4979-880c-cb5a86c1c42a", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -641,21 +944,27 @@ "'Tex\"t'" ] }, - "execution_count": 58, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "str1 = 'Tex\"t'\n", + "str1 = 'Tex\"t' # String mit ''\n", "str1" ] }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 32, "id": "783b1c13-fe63-452c-8f0e-8dab0c1173ee", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -663,21 +972,27 @@ "\"Text'2\"" ] }, - "execution_count": 57, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "str2 = \"Text'2\"\n", + "str2 = \"Text'2\" # String mit \"\"\n", "str2" ] }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 33, "id": "91a8fb1e-c9ba-4e37-81d4-fae62e30fc8c", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -685,12 +1000,13 @@ "'\\nHallo dies ist ein \\necht langer \\nnicht formattierter \\ntext!!!! \\' \"\\n\\n'" ] }, - "execution_count": 60, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "# Documentation Strings oder mehrzeillige Strings\n", "str3 = '''\n", "Hallo dies ist ein \n", "echt langer \n", @@ -698,14 +1014,20 @@ "text!!!! ' \"\n", "\n", "'''\n", - "str3" + "str3 # Ausgabe mit escape Characters" ] }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 34, "id": "7fa2bc58-3cf0-4ecb-ba6e-ab0af08c2806", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -722,14 +1044,20 @@ } ], "source": [ - "print(str3)" + "print(str3) # \"Hübsche\" Ausgabe" ] }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 35, "id": "430c663e-6320-45bb-85ac-3781394a4a37", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -737,20 +1065,26 @@ "'x'" ] }, - "execution_count": 62, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "str1[2]" + "str1[2] # Strings sind auch nur Listen" ] }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 36, "id": "e2f20468-3ea7-411e-9c72-e29d5a344fa2", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -758,20 +1092,26 @@ "'Tex\"t ist ein text'" ] }, - "execution_count": 63, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "f\"{str1} ist ein text\"" + "f\"{str1} ist ein text\" # F-String formatierung" ] }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 37, "id": "58dc5f40-26df-45e8-9c36-319dce3a11cd", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -779,20 +1119,40 @@ "'Tex\"t ist ein text'" ] }, - "execution_count": 64, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\"{} ist ein text\".format(str1)" + "\"{} ist ein text\".format(str1) # Formatierung mittels format funktion" + ] + }, + { + "cell_type": "markdown", + "id": "8dc440b6-a8c3-43a5-937f-1748d6a23c41", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Tuples" ] }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 38, "id": "cf0bd9a6-db63-4795-847f-b6dbd0cd4d1e", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -800,21 +1160,27 @@ "(42, 10.1)" ] }, - "execution_count": 69, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tuple1 = (42, 10.10)\n", + "tuple1 = (42, 10.10) # Tuple erstellen\n", "tuple1 " ] }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 39, "id": "6a6c1c1e-ea17-4609-82c8-2fa02b05b208", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -822,20 +1188,26 @@ "42" ] }, - "execution_count": 70, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tuple1[0]" + "tuple1[0] # auf element des Tupels zugreifen" ] }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 40, "id": "a46ec0e4-0cb3-419b-ac9e-9f2a669812b0", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "ename": "AttributeError", @@ -844,20 +1216,40 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[71], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mtuple1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mappend\u001b[49m(\u001b[38;5;241m1\u001b[39m)\n", + "Cell \u001b[0;32mIn[40], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mtuple1\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mappend\u001b[49m(\u001b[38;5;241m1\u001b[39m) \u001b[38;5;66;03m# Tuples sind unveränderlich (immutable) daher können nicht einfach elemente angefügt werden\u001b[39;00m\n", "\u001b[0;31mAttributeError\u001b[0m: 'tuple' object has no attribute 'append'" ] } ], "source": [ - "tuple1.append(1)" + "tuple1.append(1) # Tuples sind unveränderlich (immutable) daher können nicht einfach elemente angefügt werden" + ] + }, + { + "cell_type": "markdown", + "id": "448e1ab1-b51e-4577-a51d-da985079bb11", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Dictionarys" ] }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 41, "id": "eb6815fd-755f-49e0-a9c3-71e28b1096c3", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -865,21 +1257,27 @@ "{'Name': 'Phil', 'Key': 42}" ] }, - "execution_count": 72, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dict1 = {\"Name\": \"Phil\", \"Key\": 42}\n", + "dict1 = {\"Name\": \"Phil\", \"Key\": 42} # Dictionary erstellen\n", "dict1" ] }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 42, "id": "3a00b7f8-910b-4261-9b49-cee2fefab2ec", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -887,20 +1285,26 @@ "42" ] }, - "execution_count": 74, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dict1[\"Key\"]" + "dict1[\"Key\"] # Zugriff auf element des Dicts mittels Schlüssel" ] }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 43, "id": "9128089a-d000-4cb3-87e3-524a53a93b84", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -908,21 +1312,41 @@ "{'Name': 'Phil', 'Key': 42, 'Key2': 10}" ] }, - "execution_count": 75, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dict1[\"Key2\"] = 10\n", + "dict1[\"Key2\"] = 10 # neues Element in das Dict einfügen\n", "dict1" ] }, + { + "cell_type": "markdown", + "id": "ea00b1d5-b0fa-4949-8d51-09b045f4d25b", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Sets" + ] + }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 44, "id": "07a6f887-1831-42db-a81f-69ec41b6489b", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -930,21 +1354,41 @@ "{1, 2, 3, 4}" ] }, - "execution_count": 76, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "set1 = {1, 1, 2, 2, 3, 3, 4}\n", - "set1" + "set1 = {1, 1, 2, 2, 3, 3, 4} # Set erstellen\n", + "set1 # Sets haben ausschließlich einzigartige Elemente " + ] + }, + { + "cell_type": "markdown", + "id": "729cb47d-ae3c-4317-b19e-c423b1f1fc9a", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Conditionals" ] }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 45, "id": "23dc654e-7434-4e41-8286-c9fa86aa2fae", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -952,20 +1396,26 @@ "True" ] }, - "execution_count": 77, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "42 % 2 == 0" + "42 % 2 == 0 # Prüfen auf equality" ] }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 46, "id": "50757a7f-d3a2-43ba-9c59-f2b122661717", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -976,18 +1426,25 @@ } ], "source": [ + "# Unterschiedlichen Code ausführen je nach Bedingung\n", "zahl = 32\n", - "if zahl % 2 == 1:\n", - " print(\"Ist Ungerade\")\n", + "if zahl % 2 == 1: # ist die zahl Gerade?\n", + " print(\"Ist Ungerade\") # Wenn Ja\n", "else:\n", - " print(\"Ist Gerade\")" + " print(\"Ist Gerade\") # Wenn Nein" ] }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 47, "id": "645f5df9-8ade-4cf3-aa7f-6bf642d53674", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -998,29 +1455,42 @@ } ], "source": [ + "# Argument \"verneinen\"\n", "zahl = 32\n", - "if not zahl % 2 == 1:\n", - " print(\"Ist Gerade\")\n", + "if not zahl % 2 == 1: # Ist die zahl nicht gerade?\n", + " print(\"Ist Gerade\") # Wenn Ja (Zahl nicht gerade -> Zahl gerade)\n", "else:\n", - " print(\"Ist Ungerade\")" + " print(\"Ist Ungerade\") # Wenn Nein " ] }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 48, "id": "40d8928e-365b-4c73-a852-b13b507d7b2f", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [], "source": [ - "if 42 % 2 == 0 and 36 % 2 == 1:\n", + "if 42 % 2 == 0 and 36 % 2 == 1: # Und verknüpfung alle bedingungen müssen wahr sein\n", " print(\"Sind beide Gerade\")" ] }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 49, "id": "082f72fe-8ced-4acd-bd51-0b7bec7195a7", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -1028,7 +1498,7 @@ "False" ] }, - "execution_count": 87, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1039,9 +1509,15 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 50, "id": "0f911f39-056d-42bb-abfb-521fb926a1b1", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -1052,15 +1528,21 @@ } ], "source": [ - "if 42 % 2 == 0 or 36 % 2 == 1:\n", + "if 42 % 2 == 0 or 36 % 2 == 1: # Oder Verknüpfung eine oder mehrere Bedingungen müssen wahr sein\n", " print(\"Eine Zahl ist Gerade\")" ] }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 51, "id": "e8b94c36-e921-455a-80ae-a9f6e38a6d57", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -1068,7 +1550,7 @@ "True" ] }, - "execution_count": 90, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1079,9 +1561,15 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 52, "id": "e828d799-89af-4991-bdc7-39d70dd30614", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -1089,7 +1577,7 @@ "False" ] }, - "execution_count": 91, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1100,9 +1588,15 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 53, "id": "db94bbb7-c422-4566-beea-d5d606825563", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -1110,7 +1604,7 @@ "True" ] }, - "execution_count": 92, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1121,9 +1615,15 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 54, "id": "1a7093bc-a4ce-4fbd-97c0-f93570a185c7", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "name": "stdout", @@ -1134,21 +1634,28 @@ } ], "source": [ + "# Verschiedene Bedingungen mit verschiedenen Ausgaben\n", "zahl = 10\n", "\n", - "if zahl % 3 == 0:\n", + "if zahl % 3 == 0: # zahl durch 3 teilbar?\n", " print(\"Zahl ist durch 3 glatt teilbar\")\n", - "elif zahl % 5 == 0:\n", + "elif zahl % 5 == 0: # Zahl durch 5 teilbar?\n", " print(\"Zahl ist durch 5 glatt teilbar\")\n", - "else:\n", + "else: # Weder noch (Base Case)\n", " print(\"Zahl ist nicht durch 3 oder 5 teilbar\")" ] }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 55, "id": "eaa7e654-59b0-4ce4-80bf-f3ec83382663", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -1156,34 +1663,61 @@ "True" ] }, - "execution_count": 100, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "zahl = 90.0\n", - "isinstance(zahl, float)" + "isinstance(zahl, float) # Prüfen ob eine variable einem der Datentypen entspricht (hier float)" + ] + }, + { + "cell_type": "markdown", + "id": "dfb03801-ad4f-4006-837e-e6d62f36a02a", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Funktionen" ] }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 56, "id": "e031a4f3-b42b-4a18-872c-1241a920b842", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, "outputs": [], "source": [ - "def f(x):\n", - " ''' Berechnet das quadrat einer Zahl'''\n", + "def f(x): # Einleiten einer Funktion\n", + " ''' Berechnet das quadrat einer Zahl''' # Docstring zum beschreiben der Funktion\n", + " # .... irgendeine Berechnung\n", " rückgabewert = x*x # ist der rückgabewert\n", - " return rückgabewert" + " return rückgabewert #" ] }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 57, "id": "0f92364f-c666-485b-be38-d293cc167f17", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { "data": { @@ -1191,7 +1725,7 @@ "49" ] }, - "execution_count": 104, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1200,18 +1734,46 @@ "f(7)" ] }, + { + "cell_type": "markdown", + "id": "173dd25d-f83c-4dc9-847b-8d4a6f9ba4b7", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## While Loops" + ] + }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 58, "id": "17722b1d-0491-451f-b130-01b89ee960cf", - "metadata": {}, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "fragment" + }, + "tags": [] + }, "outputs": [ { - "ename": "SyntaxError", - "evalue": "invalid syntax (2373864270.py, line 1)", - "output_type": "error", - "traceback": [ - "\u001b[0;36m Cell \u001b[0;32mIn[110], line 1\u001b[0;36m\u001b[0m\n\u001b[0;31m i = # Condition\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Hallo Python\n", + "1 Hallo Python\n", + "2 Hallo Python\n", + "3 Hallo Python\n", + "4 Hallo Python\n", + "5 Hallo Python\n", + "6 Hallo Python\n", + "7 Hallo Python\n", + "8 Hallo Python\n", + "9 Hallo Python\n" ] } ], @@ -1223,343 +1785,35 @@ ] }, { - "cell_type": "code", - "execution_count": 1, - "id": "78d52a74-2213-4560-bbde-5a83bbe845e5", - "metadata": {}, - "outputs": [ - { - "ename": "AssertionError", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(\u001b[38;5;241m42\u001b[39m, \u001b[38;5;28mfloat\u001b[39m)\n", - "\u001b[0;31mAssertionError\u001b[0m: " - ] - } - ], + "cell_type": "markdown", + "id": "974862d5-8279-4277-9008-726c45e392a3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, "source": [ - "assert isinstance(42, float)" + "## 99 Bootles of Beer" ] }, { "cell_type": "code", - "execution_count": 2, - "id": "34aab3b4-c583-4027-b75d-0d0a6a948d40", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "99 bottles of beer on the wall, 99 bottles of beer.\n", - "Take one down and pass it around, 98 bottles of beer on the wall.\n", - "\n", - "98 bottles of beer on the wall, 98 bottles of beer.\n", - "Take one down and pass it around, 97 bottles of beer on the wall.\n", - "\n", - "97 bottles of beer on the wall, 97 bottles of beer.\n", - "Take one down and pass it around, 96 bottles of beer on the wall.\n", - "\n", - "96 bottles of beer on the wall, 96 bottles of beer.\n", - "Take one down and pass it around, 95 bottles of beer on the wall.\n", - "\n", - "95 bottles of beer on the wall, 95 bottles of beer.\n", - "Take one down and pass it around, 94 bottles of beer on the wall.\n", - "\n", - "94 bottles of beer on the wall, 94 bottles of beer.\n", - "Take one down and pass it around, 93 bottles of beer on the wall.\n", - "\n", - "93 bottles of beer on the wall, 93 bottles of beer.\n", - "Take one down and pass it around, 92 bottles of beer on the wall.\n", - "\n", - "92 bottles of beer on the wall, 92 bottles of beer.\n", - "Take one down and pass it around, 91 bottles of beer on the wall.\n", - "\n", - "91 bottles of beer on the wall, 91 bottles of beer.\n", - "Take one down and pass it around, 90 bottles of beer on the wall.\n", - "\n", - "90 bottles of beer on the wall, 90 bottles of beer.\n", - "Take one down and pass it around, 89 bottles of beer on the wall.\n", - "\n", - "89 bottles of beer on the wall, 89 bottles of beer.\n", - "Take one down and pass it around, 88 bottles of beer on the wall.\n", - "\n", - "88 bottles of beer on the wall, 88 bottles of beer.\n", - "Take one down and pass it around, 87 bottles of beer on the wall.\n", - "\n", - "87 bottles of beer on the wall, 87 bottles of beer.\n", - "Take one down and pass it around, 86 bottles of beer on the wall.\n", - "\n", - "86 bottles of beer on the wall, 86 bottles of beer.\n", - "Take one down and pass it around, 85 bottles of beer on the wall.\n", - "\n", - "85 bottles of beer on the wall, 85 bottles of beer.\n", - "Take one down and pass it around, 84 bottles of beer on the wall.\n", - "\n", - "84 bottles of beer on the wall, 84 bottles of beer.\n", - "Take one down and pass it around, 83 bottles of beer on the wall.\n", - "\n", - "83 bottles of beer on the wall, 83 bottles of beer.\n", - "Take one down and pass it around, 82 bottles of beer on the wall.\n", - "\n", - "82 bottles of beer on the wall, 82 bottles of beer.\n", - "Take one down and pass it around, 81 bottles of beer on the wall.\n", - "\n", - "81 bottles of beer on the wall, 81 bottles of beer.\n", - "Take one down and pass it around, 80 bottles of beer on the wall.\n", - "\n", - "80 bottles of beer on the wall, 80 bottles of beer.\n", - "Take one down and pass it around, 79 bottles of beer on the wall.\n", - "\n", - "79 bottles of beer on the wall, 79 bottles of beer.\n", - "Take one down and pass it around, 78 bottles of beer on the wall.\n", - "\n", - "78 bottles of beer on the wall, 78 bottles of beer.\n", - "Take one down and pass it around, 77 bottles of beer on the wall.\n", - "\n", - "77 bottles of beer on the wall, 77 bottles of beer.\n", - "Take one down and pass it around, 76 bottles of beer on the wall.\n", - "\n", - "76 bottles of beer on the wall, 76 bottles of beer.\n", - "Take one down and pass it around, 75 bottles of beer on the wall.\n", - "\n", - "75 bottles of beer on the wall, 75 bottles of beer.\n", - "Take one down and pass it around, 74 bottles of beer on the wall.\n", - "\n", - "74 bottles of beer on the wall, 74 bottles of beer.\n", - "Take one down and pass it around, 73 bottles of beer on the wall.\n", - "\n", - "73 bottles of beer on the wall, 73 bottles of beer.\n", - "Take one down and pass it around, 72 bottles of beer on the wall.\n", - "\n", - "72 bottles of beer on the wall, 72 bottles of beer.\n", - "Take one down and pass it around, 71 bottles of beer on the wall.\n", - "\n", - "71 bottles of beer on the wall, 71 bottles of beer.\n", - "Take one down and pass it around, 70 bottles of beer on the wall.\n", - "\n", - "70 bottles of beer on the wall, 70 bottles of beer.\n", - "Take one down and pass it around, 69 bottles of beer on the wall.\n", - "\n", - "69 bottles of beer on the wall, 69 bottles of beer.\n", - "Take one down and pass it around, 68 bottles of beer on the wall.\n", - "\n", - "68 bottles of beer on the wall, 68 bottles of beer.\n", - "Take one down and pass it around, 67 bottles of beer on the wall.\n", - "\n", - "67 bottles of beer on the wall, 67 bottles of beer.\n", - "Take one down and pass it around, 66 bottles of beer on the wall.\n", - "\n", - "66 bottles of beer on the wall, 66 bottles of beer.\n", - "Take one down and pass it around, 65 bottles of beer on the wall.\n", - "\n", - "65 bottles of beer on the wall, 65 bottles of beer.\n", - "Take one down and pass it around, 64 bottles of beer on the wall.\n", - "\n", - "64 bottles of beer on the wall, 64 bottles of beer.\n", - "Take one down and pass it around, 63 bottles of beer on the wall.\n", - "\n", - "63 bottles of beer on the wall, 63 bottles of beer.\n", - "Take one down and pass it around, 62 bottles of beer on the wall.\n", - "\n", - "62 bottles of beer on the wall, 62 bottles of beer.\n", - "Take one down and pass it around, 61 bottles of beer on the wall.\n", - "\n", - "61 bottles of beer on the wall, 61 bottles of beer.\n", - "Take one down and pass it around, 60 bottles of beer on the wall.\n", - "\n", - "60 bottles of beer on the wall, 60 bottles of beer.\n", - "Take one down and pass it around, 59 bottles of beer on the wall.\n", - "\n", - "59 bottles of beer on the wall, 59 bottles of beer.\n", - "Take one down and pass it around, 58 bottles of beer on the wall.\n", - "\n", - "58 bottles of beer on the wall, 58 bottles of beer.\n", - "Take one down and pass it around, 57 bottles of beer on the wall.\n", - "\n", - "57 bottles of beer on the wall, 57 bottles of beer.\n", - "Take one down and pass it around, 56 bottles of beer on the wall.\n", - "\n", - "56 bottles of beer on the wall, 56 bottles of beer.\n", - "Take one down and pass it around, 55 bottles of beer on the wall.\n", - "\n", - "55 bottles of beer on the wall, 55 bottles of beer.\n", - "Take one down and pass it around, 54 bottles of beer on the wall.\n", - "\n", - "54 bottles of beer on the wall, 54 bottles of beer.\n", - "Take one down and pass it around, 53 bottles of beer on the wall.\n", - "\n", - "53 bottles of beer on the wall, 53 bottles of beer.\n", - "Take one down and pass it around, 52 bottles of beer on the wall.\n", - "\n", - "52 bottles of beer on the wall, 52 bottles of beer.\n", - "Take one down and pass it around, 51 bottles of beer on the wall.\n", - "\n", - "51 bottles of beer on the wall, 51 bottles of beer.\n", - "Take one down and pass it around, 50 bottles of beer on the wall.\n", - "\n", - "50 bottles of beer on the wall, 50 bottles of beer.\n", - "Take one down and pass it around, 49 bottles of beer on the wall.\n", - "\n", - "49 bottles of beer on the wall, 49 bottles of beer.\n", - "Take one down and pass it around, 48 bottles of beer on the wall.\n", - "\n", - "48 bottles of beer on the wall, 48 bottles of beer.\n", - "Take one down and pass it around, 47 bottles of beer on the wall.\n", - "\n", - "47 bottles of beer on the wall, 47 bottles of beer.\n", - "Take one down and pass it around, 46 bottles of beer on the wall.\n", - "\n", - "46 bottles of beer on the wall, 46 bottles of beer.\n", - "Take one down and pass it around, 45 bottles of beer on the wall.\n", - "\n", - "45 bottles of beer on the wall, 45 bottles of beer.\n", - "Take one down and pass it around, 44 bottles of beer on the wall.\n", - "\n", - "44 bottles of beer on the wall, 44 bottles of beer.\n", - "Take one down and pass it around, 43 bottles of beer on the wall.\n", - "\n", - "43 bottles of beer on the wall, 43 bottles of beer.\n", - "Take one down and pass it around, 42 bottles of beer on the wall.\n", - "\n", - "42 bottles of beer on the wall, 42 bottles of beer.\n", - "Take one down and pass it around, 41 bottles of beer on the wall.\n", - "\n", - "41 bottles of beer on the wall, 41 bottles of beer.\n", - "Take one down and pass it around, 40 bottles of beer on the wall.\n", - "\n", - "40 bottles of beer on the wall, 40 bottles of beer.\n", - "Take one down and pass it around, 39 bottles of beer on the wall.\n", - "\n", - "39 bottles of beer on the wall, 39 bottles of beer.\n", - "Take one down and pass it around, 38 bottles of beer on the wall.\n", - "\n", - "38 bottles of beer on the wall, 38 bottles of beer.\n", - "Take one down and pass it around, 37 bottles of beer on the wall.\n", - "\n", - "37 bottles of beer on the wall, 37 bottles of beer.\n", - "Take one down and pass it around, 36 bottles of beer on the wall.\n", - "\n", - "36 bottles of beer on the wall, 36 bottles of beer.\n", - "Take one down and pass it around, 35 bottles of beer on the wall.\n", - "\n", - "35 bottles of beer on the wall, 35 bottles of beer.\n", - "Take one down and pass it around, 34 bottles of beer on the wall.\n", - "\n", - "34 bottles of beer on the wall, 34 bottles of beer.\n", - "Take one down and pass it around, 33 bottles of beer on the wall.\n", - "\n", - "33 bottles of beer on the wall, 33 bottles of beer.\n", - "Take one down and pass it around, 32 bottles of beer on the wall.\n", - "\n", - "32 bottles of beer on the wall, 32 bottles of beer.\n", - "Take one down and pass it around, 31 bottles of beer on the wall.\n", - "\n", - "31 bottles of beer on the wall, 31 bottles of beer.\n", - "Take one down and pass it around, 30 bottles of beer on the wall.\n", - "\n", - "30 bottles of beer on the wall, 30 bottles of beer.\n", - "Take one down and pass it around, 29 bottles of beer on the wall.\n", - "\n", - "29 bottles of beer on the wall, 29 bottles of beer.\n", - "Take one down and pass it around, 28 bottles of beer on the wall.\n", - "\n", - "28 bottles of beer on the wall, 28 bottles of beer.\n", - "Take one down and pass it around, 27 bottles of beer on the wall.\n", - "\n", - "27 bottles of beer on the wall, 27 bottles of beer.\n", - "Take one down and pass it around, 26 bottles of beer on the wall.\n", - "\n", - "26 bottles of beer on the wall, 26 bottles of beer.\n", - "Take one down and pass it around, 25 bottles of beer on the wall.\n", - "\n", - "25 bottles of beer on the wall, 25 bottles of beer.\n", - "Take one down and pass it around, 24 bottles of beer on the wall.\n", - "\n", - "24 bottles of beer on the wall, 24 bottles of beer.\n", - "Take one down and pass it around, 23 bottles of beer on the wall.\n", - "\n", - "23 bottles of beer on the wall, 23 bottles of beer.\n", - "Take one down and pass it around, 22 bottles of beer on the wall.\n", - "\n", - "22 bottles of beer on the wall, 22 bottles of beer.\n", - "Take one down and pass it around, 21 bottles of beer on the wall.\n", - "\n", - "21 bottles of beer on the wall, 21 bottles of beer.\n", - "Take one down and pass it around, 20 bottles of beer on the wall.\n", - "\n", - "20 bottles of beer on the wall, 20 bottles of beer.\n", - "Take one down and pass it around, 19 bottles of beer on the wall.\n", - "\n", - "19 bottles of beer on the wall, 19 bottles of beer.\n", - "Take one down and pass it around, 18 bottles of beer on the wall.\n", - "\n", - "18 bottles of beer on the wall, 18 bottles of beer.\n", - "Take one down and pass it around, 17 bottles of beer on the wall.\n", - "\n", - "17 bottles of beer on the wall, 17 bottles of beer.\n", - "Take one down and pass it around, 16 bottles of beer on the wall.\n", - "\n", - "16 bottles of beer on the wall, 16 bottles of beer.\n", - "Take one down and pass it around, 15 bottles of beer on the wall.\n", - "\n", - "15 bottles of beer on the wall, 15 bottles of beer.\n", - "Take one down and pass it around, 14 bottles of beer on the wall.\n", - "\n", - "14 bottles of beer on the wall, 14 bottles of beer.\n", - "Take one down and pass it around, 13 bottles of beer on the wall.\n", - "\n", - "13 bottles of beer on the wall, 13 bottles of beer.\n", - "Take one down and pass it around, 12 bottles of beer on the wall.\n", - "\n", - "12 bottles of beer on the wall, 12 bottles of beer.\n", - "Take one down and pass it around, 11 bottles of beer on the wall.\n", - "\n", - "11 bottles of beer on the wall, 11 bottles of beer.\n", - "Take one down and pass it around, 10 bottles of beer on the wall.\n", - "\n", - "10 bottles of beer on the wall, 10 bottles of beer.\n", - "Take one down and pass it around, 9 bottles of beer on the wall.\n", - "\n", - "9 bottles of beer on the wall, 9 bottles of beer.\n", - "Take one down and pass it around, 8 bottles of beer on the wall.\n", - "\n", - "8 bottles of beer on the wall, 8 bottles of beer.\n", - "Take one down and pass it around, 7 bottles of beer on the wall.\n", - "\n", - "7 bottles of beer on the wall, 7 bottles of beer.\n", - "Take one down and pass it around, 6 bottles of beer on the wall.\n", - "\n", - "6 bottles of beer on the wall, 6 bottles of beer.\n", - "Take one down and pass it around, 5 bottles of beer on the wall.\n", - "\n", - "5 bottles of beer on the wall, 5 bottles of beer.\n", - "Take one down and pass it around, 4 bottles of beer on the wall.\n", - "\n", - "4 bottles of beer on the wall, 4 bottles of beer.\n", - "Take one down and pass it around, 3 bottles of beer on the wall.\n", - "\n", - "3 bottles of beer on the wall, 3 bottles of beer.\n", - "Take one down and pass it around, 2 bottles of beer on the wall.\n", - "\n", - "2 bottles of beer on the wall, 2 bottles of beer.\n", - "Take one down and pass it around, 1 bottle of beer on the wall.\n", - "\n", - "1 bottle of beer on the wall, 1 bottle of beer.\n", - "Take one down and pass it around, no more bottles of beer on the wall.\n", - "\n", - " No more bottles of beer on the wall, no more bottles of beer.\n", - " We've taken them down and passed them around;\n", - " now we're drunk and passed out!\n", - " \n" - ] - } - ], + "execution_count": null, + "id": "89075c38-1487-4175-8841-3546c8ac304f", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], "source": [ + "# Vereinigung aller heute gelernten Dinge außer der Funktions Definition\n", + "\n", + "# 99 Bootles of Beer \n", "beer = 99\n", "while beer > -1:\t\n", " print()\n", @@ -1579,16 +1833,10 @@ " else:\n", " print(f\"Take one down and pass it around, {beer - 1} bottles of beer on the wall.\")\n", " \n", - " beer -= 1\n" + " beer -= 1\n", + "\n", + "# Ausgabe ist zu groß für Slides" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0d7fbb11-ea09-4130-9263-6a8a3bfe14a9", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1607,7 +1855,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.5" + "version": "3.12.7" } }, "nbformat": 4, diff --git a/Material/2.vorlesung.slides.html b/Material/2.vorlesung.slides.html new file mode 100644 index 0000000..1ceb7ad --- /dev/null +++ b/Material/2.vorlesung.slides.html @@ -0,0 +1,9262 @@ + + + + + + + +2.vorlesung slides + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/Material/3.Vorlesung.ipynb b/Material/3.Vorlesung.ipynb new file mode 100644 index 0000000..1971ced --- /dev/null +++ b/Material/3.Vorlesung.ipynb @@ -0,0 +1,916 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "87873422-9971-47b4-870b-82ea5cc663f2", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "# Lösungen Tutorial 1" + ] + }, + { + "cell_type": "markdown", + "id": "373d0d4a-c11a-4fe3-b3f2-46701690fd3a", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe**: Geben Sie den Text `Hallo Python` aus. *1 Punkt*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "bedcc819-ea7e-430e-ba1b-32543086d2dd", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hallo Python\n" + ] + } + ], + "source": [ + "print(\"Hallo Python\")" + ] + }, + { + "cell_type": "markdown", + "id": "612aa876-5806-4ae8-96d7-578b96e1780a", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *2 Punkte*: \n", + "\n", + "Definieren Sie zunächst die zwei Variablen `a` und `b` und initialisieren diese mit einem Integerwert ungleich `0`:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "fe38d9d9-9684-4d63-afe5-6eb68accf26d", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "a = 1\n", + "b = -2" + ] + }, + { + "cell_type": "markdown", + "id": "bd7c915d-03b1-4c45-820b-6e2b12e81671", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *2 Punkte*:\n", + "\n", + "Definieren Sie zwei Variablen `s` und `t` und initialisieren diese mit einem Floatwert ungleich `0`:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6065bb38-0482-42b9-bd57-b0660de9eb7a", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "s = 1.5\n", + "t = -2.7" + ] + }, + { + "cell_type": "markdown", + "id": "87ddb6c9-5291-4693-a3e1-65ce8c0a3ea4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *2 Punkte*:\n", + "\n", + "Addieren Sie die Werte der Variablen `a` und `b` und speichern Sie das Ergebnis in der Variable `c`:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "424e3dbe-ead5-4606-a1bc-6b0bb0739b40", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "-1" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = a + b\n", + "c" + ] + }, + { + "cell_type": "markdown", + "id": "c57e8354-bde5-4139-bf93-ceca856568fc", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *5 Punkte*:\n", + "\n", + "Nutzen Sie die Variablen `a` & `b` und Speichern Sie die Ergebnisse für die Multiplikation, Division, Ganzzahldivision, Exponentiation und den Modulo-Operator in den unten angegebenen Variablen:\n", + "\n", + "\\begin{align}\n", + "m &= a\\cdot b\\\\\n", + "d &= \\frac{a}{b}\\\\\n", + "i &= \\lfloor\\frac{a}{b}\\rfloor\\\\\n", + "e &= a^b\\\\\n", + "r &= a\\; \\textrm{mod}\\; b\n", + "\\end{align}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c2078093-fd22-4fc2-9c79-11e716d047b1", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "m = a*b\n", + "d = a/b\n", + "i = a//b\n", + "e = a**b\n", + "r = a%b" + ] + }, + { + "cell_type": "markdown", + "id": "04ffad98-7f3c-40df-984a-021a2ad79800", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *2 Punkte*:\n", + "\n", + "Ein String-Objekt (Text) können sie mit Hilfe von `'Some Text'` oder `\"Some Text2\"` definieren. Definieren sie die Variable `text` mit einem beliebigen Text." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "68cb274d-dba5-49e8-a26e-cfb97499792f", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'Hi Mom, I am on TV!'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "text = \"Hi Mom, I am on TV!\"\n", + "print(text)" + ] + }, + { + "cell_type": "markdown", + "id": "9dcb699b-091d-4d17-9e22-f958a34872b5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Geben Sie die Variablen `a` & `b` aus Aufgabe 1 im format `\"a = 12 und b = 12\"` (Die Werte sollen dann den Werten aus ihrer Definition entsprechen. 12 ist hier nur ein Beispiel) aus." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "745dda45-be87-4f55-a18a-fda0031148ba", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a = 1 und b = -2\n" + ] + } + ], + "source": [ + "# 1. Möglichkeit Format Funktion\n", + "print(\"a = {} und b = {}\".format(a, b))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "579bc33a-9b26-428d-a4b8-cfb0a0960ff5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a = 1 und b = -2\n" + ] + } + ], + "source": [ + "# 2. Möglichkeit 'f'-String\n", + "print(f\"a = {a} und b = {b}\")" + ] + }, + { + "cell_type": "markdown", + "id": "df713414-9909-4130-b349-352cc8d951ed", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*: \n", + "\n", + "Definieren Sie die Variable `l` und weisen Sie dieser Variable eine Liste mit aufsteigenden Integerwerten von `0` bis `4` zu." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "0371e614-f9d1-4048-a710-531b4bea7708", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "l = [0, 1, 2, 3, 4]" + ] + }, + { + "cell_type": "markdown", + "id": "41220c65-8c6b-486d-9da7-cecdce957ef3", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Hängen Sie der Liste `l` noch den Wert `42` an.\n", + "\n", + "Hinweis: Nutzen Sie dafür die Methode [.append](https://www.w3schools.com/python/ref_list_append.asp)." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5f14b238-738e-4f37-9f80-b09b373bc387", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "l.append(42)" + ] + }, + { + "cell_type": "markdown", + "id": "007e4252-a8c5-464e-8a71-bda2718b6c5e", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Geben Sie das dritte Element der Liste `l` aus.\n", + "\n", + "Hinweis: Achten Sie darauf das der erste Index immer `0` ist. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "b5f1c844-9017-459a-aebf-fabd639310d9", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "l[2]" + ] + }, + { + "cell_type": "markdown", + "id": "478993a1-d922-4f3c-bde7-316e01688709", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Geben Sie das vorletzte Element der Liste `l` aus.\n", + "\n", + "Hinweis: Achten Sie darauf das der letzte Index mit `-1` ausgegeben wird" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f38d72ab-062e-4204-86dc-32864ef9cf5d", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "l[-2]" + ] + }, + { + "cell_type": "markdown", + "id": "d19f6acb-8046-4a7b-b0b9-78fe655246dc", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Initialisieren Sie die Dictionary Variable `my_dict` mit folgendem Mapping:\n", + "\n", + "| Key | Value |\n", + "|:----|:------|\n", + "| `\"apple\"` | `\"Apfel\"` |\n", + "| `\"banana\"` | `\"Banane\"` |\n", + "| `\"cherry\"` | `\"Kirsche\"` |" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "4faaf2df-a250-41b2-aa26-d3e6a7327f01", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "my_dict = {\"apple\": \"Apfel\", \"banana\": \"Banane\", \"cherry\": \"Kirsche\"}" + ] + }, + { + "cell_type": "markdown", + "id": "74939a92-ed87-44d8-894a-b6d5d5a05773", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Fügen Sie nun das Key-Value Paar `\"pear\": \"Birne\"` zu `my_dict` hinzu." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "0cfbda9f-e6fe-4145-b4a4-05e6c9cdd576", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "my_dict[\"pear\"] = \"Birne\"" + ] + }, + { + "cell_type": "markdown", + "id": "e5e4cd89-f01e-44df-91b7-7b255f5c4b67", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Geben Sie die nur die Werte des Dictionaries `my_dict` aus." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d0166c7e-6a45-461b-9369-53de7ccc7e8b", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dict_values(['Apfel', 'Banane', 'Kirsche', 'Birne'])\n" + ] + } + ], + "source": [ + "print(my_dict.values())" + ] + }, + { + "cell_type": "markdown", + "id": "7691cbcc-8af1-41be-9b01-e499d9981b48", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Geben Sie die Elemente des Dictionaries `my_dict` mit der Funktion `.items()` aus. " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "a4f9f233-6f60-4d5d-a4ea-2f8be73be3d5", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dict_items([('apple', 'Apfel'), ('banana', 'Banane'), ('cherry', 'Kirsche'), ('pear', 'Birne')])\n" + ] + } + ], + "source": [ + "print(my_dict.items())" + ] + }, + { + "cell_type": "markdown", + "id": "44035bd1-3721-4510-aadc-b464f45e66a8", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "## Recap" + ] + }, + { + "cell_type": "markdown", + "id": "1aa5ee93-7aba-4ae2-9a7f-77b133d0762b", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "```python\n", + "def some_function_name(param1, param2):\n", + " a = do_something1(param1)\n", + " b = do_something2(a, param2)\n", + " do_something3(b)\n", + " return b\n", + "```\n", + "\n", + "\"gebe zurück\" = `return`\n", + "\"gebe aus\" = `print`" + ] + }, + { + "cell_type": "markdown", + "id": "6095807e-03f2-42d0-89b8-54356206bd79", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Schreibe eine Funktion `successor` die auf jede Eingabe `+1` rechnet." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "58784328-5d18-45e7-8283-226391292461", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "43" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def successor(n):\n", + " return n+1\n", + "\n", + "successor(42)" + ] + }, + { + "cell_type": "markdown", + "id": "c792960f-f678-43f6-ba52-9e6904ec9077", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Schreibe eine Funktion `add` mit den Eingabeparametern `a` & `b`, welche die Werte von `a` & `b` miteinander addiert." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "b49b07e2-b2b6-4dc6-8ad7-32e4722616e9", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def add(a,b):\n", + " return a+b\n", + "\n", + "add(2,5)" + ] + }, + { + "cell_type": "markdown", + "id": "a94076aa-259b-44ee-9ee4-e239089d04fe", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** *1 Punkte*:\n", + "\n", + "Schreibe eine Funktion `is_odd` mit einem Eingabeparameter `n` die prüft ob die eingegebene Zahl ungerade ist.\n", + "\n", + "Wenn die Zahl gerade ist gebe den Text `\"Gerade Zahl\"` und bei ungerade `\"Ungerade Zahl\"` zurück." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "e5f9cd1d-3bd7-49ff-9ea7-53899db1d911", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "subslide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Gerade Zahl\n", + "Ungerade Zahl\n" + ] + } + ], + "source": [ + "def is_odd(n):\n", + " if n % 2 == 0:\n", + " return \"Gerade Zahl\"\n", + " else:\n", + " return \"Ungerade Zahl\"\n", + "\n", + "print(is_odd(2))\n", + "print(is_odd(3))" + ] + }, + { + "cell_type": "markdown", + "id": "b65cb60c-34ad-40eb-b0b6-934abaab3bb6", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "source": [ + "**Aufgabe** 7 Punkte: Schreibe eine Funktion `fubar` mit Eingabeparameter `n`.\n", + "Die Funktion soll wie folgt definiert sein:\n", + "\n", + "- Der Eingabeparameter `n` ist ein Integer, Floats geben `False` zurück\n", + "- Negative zahlen & 0 beenden die Funktion und geben `False` zurück\n", + "- Die Funktion zählt bis einschließlich dem Eingabeparameter\n", + " bsp.: $n=9 \\rightarrow 1, 2, 3, \\dots, 9$\n", + "- Bei jedem Schleifendurchlauf soll die Zahl bei der sich die Schleife gerade befindet mittels `print` ausgegeben werden werden.\n", + "- Ist der zurzeitige Schleifendurchlauf durch `3` teilbar, gebe mittels `print` denn String `Foo` aus.\n", + "- Ist der zurzeitige Schleifendurchlauf durch `5` teilbar, gebe mittels `print` denn String `Bar` aus.\n", + "- Ist der zurzeitge Schleifendurrchlauf durch `3 & 5` teilbar, gebe mittels `print` den String `FooBar` aus.\n", + "\n", + "**Tipp**: Implementiere nicht alles aufeinmal sollte Schritt für Schritt und teste deine Lösung nach jedem Schritt." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "bec1be94-561e-4379-86a0-d302ef150920", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def fubar(n: int):\n", + " if isinstance(n, float) or n < 1:\n", + " return False\n", + "\n", + " count = 1\n", + " while count <= n:\n", + " msg = count\n", + " if count % 3 == 0:\n", + " msg = \"Foo\"\n", + " if count % 5 == 0:\n", + " msg = \"Bar\"\n", + " if count % 15 == 0:\n", + " msg = \"FooBar\"\n", + " \n", + " count += 1\n", + " print(msg, end=', ')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "ad665bb0-9976-43e9-b8ab-bb52c4a0f1d4", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "slide" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Negative Zahl False\n", + "Null False\n", + "Float False\n", + "Testen über 15\n", + "1, 2, Foo, 4, Bar, Foo, 7, 8, Foo, Bar, 11, Foo, 13, 14, FooBar, 16, " + ] + } + ], + "source": [ + "# Testen\n", + "print(\"Negative Zahl\", fubar(-1))\n", + "print(\"Null\", fubar(0))\n", + "print(\"Float\", fubar(0.1))\n", + "print(\"Testen über 15\")\n", + "fubar(16)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Material/3.Vorlesung.slides.html b/Material/3.Vorlesung.slides.html new file mode 100644 index 0000000..2da93bb --- /dev/null +++ b/Material/3.Vorlesung.slides.html @@ -0,0 +1,8309 @@ + + + + + + + +3.Vorlesung slides + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + diff --git a/Material/wise_24_25/lernmaterial/Einführung/Tut_2.ipynb b/Material/wise_24_25/lernmaterial/Einführung/Tut_2.ipynb index d232280..1d54bbf 100644 --- a/Material/wise_24_25/lernmaterial/Einführung/Tut_2.ipynb +++ b/Material/wise_24_25/lernmaterial/Einführung/Tut_2.ipynb @@ -75,7 +75,7 @@ "In Python sehe selbiger Code wie folgt aus:\n", "\n", "```python\n", - "for i in range(0,arr.length()):\n", + "for i in range(0,len(arr)):\n", " # do something\n", "```\n", "\n", @@ -1722,7 +1722,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.12.7" } }, "nbformat": 4, diff --git a/Template/Gruppe.md b/Template/Gruppe.md new file mode 100644 index 0000000..00e4908 --- /dev/null +++ b/Template/Gruppe.md @@ -0,0 +1,20 @@ +--- +parent: "[[Gruppe]]" +tags: + - Gruppe + - Prüfung + - Punkte +--- +# Mitglieder + +| Name | Punkte | Durchschnitt | Jupyter Kennung | Mail | +| ---- | ------ | ------------ | --------------- | ---- | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | + +# Notizen + +# Prüfung diff --git a/To Do.md b/To Do.md index 2f5fa05..d5905f3 100644 --- a/To Do.md +++ b/To Do.md @@ -1 +1,8 @@ - [ ] Obsidian publish over https://github.com/oleeskild/Obsidian-digital-garden + + +5ce6c08f9b055ca085232da514623ca4 - Aurela Brahimi +8be9a4cc0b240a18171892b873dc2cb8 - Milena Krieger 30 + + + \ No newline at end of file diff --git a/submissions.xlsx b/submissions.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..72fb0d1cfbdf399c798669fc5eaffa998deb4edc GIT binary patch literal 9507 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