Skip to content

Commit

Permalink
Merge branch 'main' of github.com:digital-sustainability/Grundkurs-Pr…
Browse files Browse the repository at this point in the history
…ogrammieren
  • Loading branch information
lionelsemion committed Jan 28, 2025
2 parents c41e69a + b13ded7 commit b0ae2c4
Show file tree
Hide file tree
Showing 12 changed files with 239 additions and 148 deletions.
2 changes: 1 addition & 1 deletion student_versions/FS25/02_21_25/Einfuehrung.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@
"source": [
"<div class=\"gk-exercise\">\n",
"\n",
"Erstelle nachfolgend eine Markdown-Zelle und bearbeite den nachfolgenden Text so, dass er dem untenstehenden Bild entspricht. Der entsprechende Link soll auf die Seite https://www.codingdojo.com/blog/is-coding-hard führen. ![Markdown_Exercise](image.png)\n",
"Erstelle nachfolgend eine Markdown-Zelle und bearbeite den nachfolgenden Text so, dass er dem untenstehenden Bild entspricht. Der entsprechende Link soll auf die Seite https://www.codingdojo.com/blog/is-coding-hard führen. Die Schriftart kann ignoriert werden. ![Markdown_Exercise](https://i.imgur.com/In5nCNh.png) \n",
" \n",
"<details>\n",
" <summary>Tipps:</summary>\n",
Expand Down
Binary file removed student_versions/FS25/02_21_25/image.png
Binary file not shown.
14 changes: 14 additions & 0 deletions student_versions/FS25/03_07_25/Zeichenketten_Iteration.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -431,6 +431,20 @@
"Aus der obigen Aufgabe wird klar, dass das Zeichen `=` nicht als Gleichheitszeichen interpretiert werden kann, sondern als **Zuweisungsoperator** betrachtet werden muss, der nicht einem mathematischen Gleichheitszeichen entspricht."
]
},
{
"cell_type": "markdown",
"id": "165167b6",
"metadata": {},
"source": [
"<div>\n",
" <details>\n",
" <summary>Übrigens:</summary>\n",
" <p><code>a += b</code> ist gleichbedeutend zu <code>a = a + b</code></p>\n",
" <p>Analoge Kurzformen sind auch noch <code>a -= b</code>, <code>a *= b</code> und <code>a /= b</code></p>\n",
" </details>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"id": "d29b7b1b-3a94-43a1-bd5b-ffcaac4edb37",
Expand Down
55 changes: 47 additions & 8 deletions student_versions/FS25/03_21_25/Listen_Methoden.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,50 @@
"Dies wird auch als **String Slicing** bezeichnet und das Resultat davon ist ein Teilstring resp. ein sogenannter **Substring**."
]
},
{
"cell_type": "markdown",
"id": "2ff417d5",
"metadata": {},
"source": [
"Es ist zu beachten, dass Listenelemente mit `list_1[2] = 123` verändert werden können, was bei Strings nicht möglich ist."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3f8add99",
"metadata": {},
"outputs": [],
"source": [
"# Funktioniert\n",
"\n",
"list_1 = [1,2,3,3]\n",
"\n",
"list_1[3] = 4\n",
"\n",
"print(list_1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "98669bdd",
"metadata": {
"tags": [
"raises-exception"
]
},
"outputs": [],
"source": [
"# Funktioniert nicht\n",
"\n",
"string_1 = \"1233\"\n",
"\n",
"string_1[3] = \"4\"\n",
"\n",
"print(string_1)"
]
},
{
"cell_type": "markdown",
"id": "539f4618-a5c5-44c1-8a67-722bf667da1d",
Expand Down Expand Up @@ -1277,7 +1321,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "GraphVis--oE0K6n0",
"language": "python",
"name": "python3"
},
Expand All @@ -1291,14 +1335,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.10"
"version": "3.12.3"
},
"toc-autonumbering": true,
"vscode": {
"interpreter": {
"hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e"
}
}
"toc-autonumbering": true
},
"nbformat": 4,
"nbformat_minor": 5
Expand Down
45 changes: 21 additions & 24 deletions student_versions/FS25/03_28_25/If_else.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"* Sie verstehen wie in einem Quelltext eine Fallunterscheidung mit einem **If Statement** gemacht werden kann\n",
"* Sie verstehen den Einfluss der Reihenfolge von **Elif Statements**\n",
"* Sie können einzelne Bedingungen **verschachteln**\n",
"* Sie können neue Listen mit Hilfe der **List Comprehension** erstellen"
"* Sie können neue Listen mit Hilfe der **List Comprehensions** erstellen"
]
},
{
Expand Down Expand Up @@ -258,7 +258,7 @@
"tags": []
},
"source": [
"Der Grund dafür ist, dass sich '0.1', '0.2' und '0.3' im Binärsystem (in dem der Computer rechnet) nicht exakt repräsentieren lassen."
"Der Grund dafür ist, dass sich '0.1', '0.2' und '0.3' im Binärsystem (in dem der Computer rechnet) nicht exakt repräsentieren lassen, ähnlich wie sich 1/3 im Zehnersystem nicht exakt repräsentieren lässt ($\\frac{1}{3} \\approx 0.3333$)."
]
},
{
Expand Down Expand Up @@ -312,7 +312,7 @@
},
"source": [
"```python\n",
"if bedingung == True:\n",
"if bedingung:\n",
" nur ausführen wenn bedingung == True\n",
" nur ausführen wenn bedingung == True\n",
"immer ausführen\n",
Expand Down Expand Up @@ -356,7 +356,7 @@
"source": [
"<div class=\"gk-exercise\">\n",
"\n",
"Frage die Benutzerin nach einer Zahl. Überprüfe ob die Zahl gerade ist und falls ja gib einen entsprechenden Text aus.\n",
"Frage die Benutzerin nach einer Zahl. Überprüfe ob die Zahl gerade ist und falls ja, gib einen entsprechenden Text aus.\n",
" \n",
"<details>\n",
"<summary>Tipps:</summary>\n",
Expand Down Expand Up @@ -521,10 +521,10 @@
" \n",
"<details>\n",
"<summary>Tipps:</summary>\n",
" Um von <code>0</code> bis und mit <code>n</code> zu summieren muss <a href=\"../03_14_25/Strings_For.ipynb#Zahlen-und-Schleifen\"><code>range(n+1)</code></a> verwendet werden.\n",
" <p>Um von <code>0</code> bis und mit <code>n</code> zu summieren muss <a href=\"../03_14_25/Strings_For.ipynb#Zahlen-und-Schleifen\"><code>range(n+1)</code></a> verwendet werden.</p>\n",
" <details>\n",
" <summary>Tipp:</summary>\n",
" <p>Verwende <a href=\"../03_14_25/Strings_For.ipynb#Error-handling\"><code>try</code> und <code>except</code></a> um fehlerhafte Eingaben abzufangen</p>\n",
" <p>Um eine Variable <code>x</code> um <code>y</code> zu erhöhen, verwende <code>x = x + y</code></p>\n",
" </details>\n",
"</details>\n",
"\n",
Expand Down Expand Up @@ -784,7 +784,7 @@
"id": "a1bf056f-3a65-4f3a-b001-2c13fc1dc1bf",
"metadata": {},
"source": [
"Das liegt daran, dass ein `elif` Codeblock nur geprüft und allenfalls ausgeführt wird, wenn die vorherige Bedingung falsch war resp. die vorherigen Bedingungen falsch waren. "
"Das liegt daran, dass ein `elif` Codeblock nur geprüft und allenfalls ausgeführt wird, wenn die vorherige Bedingung falsch war resp. alle vorherigen Bedingungen falsch waren. "
]
},
{
Expand Down Expand Up @@ -891,9 +891,9 @@
"# ohne List Comprehension\n",
"staenderaetinnen = []\n",
"\n",
"for frau in politikerinnen:\n",
" if \"SR\" in frau:\n",
" staenderaetinnen.append(frau)\n",
"for politikerin in politikerinnen:\n",
" if \"SR\" in politikerin:\n",
" staenderaetinnen.append(politikerin)\n",
" \n",
"print(staenderaetinnen)"
]
Expand All @@ -906,7 +906,7 @@
"outputs": [],
"source": [
"# mit List Comprehension\n",
"staenderaetinnen = [frau for frau in politikerinnen if \"SR\" in frau]\n",
"staenderaetinnen = [politikerin for politikerin in politikerinnen if \"SR_\" in politikerin]\n",
"\n",
"print(staenderaetinnen)"
]
Expand All @@ -928,13 +928,13 @@
"\n",
"\n",
"```python\n",
"neue_liste = [expression for item in iterable if condition == True]\n",
"neue_liste = [expression for item in iterable if condition]\n",
"```\n",
"\n",
"Es werden also nur diejenigen Elemente in die neue Liste übernommen, die die Bedingung \n",
"\n",
"```python\n",
"if condition == True\n",
"if condition\n",
"```\n",
"\n",
"erfüllen. Der erste Teil mit `expression` erlaubt es, weitere Manipulationen an denjenigen Elementen durchzuführen, die in die neue Liste übernommen wurden. \n",
Expand All @@ -943,7 +943,7 @@
"Wenn keine weitere Manipulation nötig ist (wie im Beispiel oben), dann wird einfach nochmals `item` eingefügt, also z.B.\n",
"\n",
"```python\n",
"[frau for frau in politikerinnen if \"SR\" in frau]\n",
"[politikerin for politikerin in politikerinnen if \"SR\" in politikerin]\n",
"```"
]
},
Expand Down Expand Up @@ -998,7 +998,7 @@
"\n",
"<details>\n",
"<summary>Tipp</summary>\n",
" <p>Nutze dazu dein Wissen über Mehrfachauswahl mit dem Konstrukt <code>[:]</code>, welches auch bei einem String funktioniert, um nur Teile eines Strings auszuwählen. Dieses Konstrukt kann innerhalb der Expression angewandt werden.</p>\n",
" <p>Nutze dazu dein Wissen über Mehrfachauswahl mit dem Konstrukt <code>[a:b]</code>, welches auch bei einem String funktioniert, um nur Teile eines Strings auszuwählen. Dieses Konstrukt kann innerhalb der Expression angewandt werden.</p>\n",
"</details>\n",
"</div>"
]
Expand Down Expand Up @@ -1110,7 +1110,9 @@
"\n",
"<a rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"><img alt=\"Creative Commons Lizenzvertrag\" style=\"border-width:0\" src=\"https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg\" /></a><br />Dieses Werk ist lizenziert unter einer <a rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\">Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz</a>.\n",
"\n",
"Autoren: [Noe Thalheim](mailto:[email protected]), [Benedikt Hitz-Gamper](mailto:[email protected])\n",
"\n",
"Autoren: [Lionel Stürmer](mailto:[email protected]) <br>\n",
"Ursprünglicher Text von: [Noe Thalheim](mailto:[email protected]), [Benedikt Hitz-Gamper](mailto:[email protected])\n",
"\n",
"\n",
"```\n",
Expand All @@ -1122,7 +1124,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "GraphVis--oE0K6n0",
"language": "python",
"name": "python3"
},
Expand All @@ -1136,15 +1138,10 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.10"
"version": "3.12.3"
},
"toc-autonumbering": true,
"toc-showcode": true,
"vscode": {
"interpreter": {
"hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e"
}
}
"toc-showcode": true
},
"nbformat": 4,
"nbformat_minor": 5
Expand Down
15 changes: 6 additions & 9 deletions student_versions/FS25/04_04_25/While_Logische-Operatoren.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -486,7 +486,9 @@
"\n",
"<a rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"><img alt=\"Creative Commons Lizenzvertrag\" style=\"border-width:0\" src=\"https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg\" /></a><br />Dieses Werk ist lizenziert unter einer <a rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\">Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz</a>.\n",
"\n",
"Autoren: [Noe Thalheim](mailto:[email protected]), [Benedikt Hitz-Gamper](mailto:[email protected])\n",
"\n",
"Autoren: [Lionel Stürmer](mailto:[email protected]) <br>\n",
"Ursprünglicher Text von: [Noe Thalheim](mailto:[email protected]), [Benedikt Hitz-Gamper](mailto:[email protected])\n",
"\n",
"\n",
"```\n",
Expand All @@ -498,7 +500,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"display_name": "GraphVis--oE0K6n0",
"language": "python",
"name": "python3"
},
Expand All @@ -512,14 +514,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.10"
"version": "3.12.3"
},
"toc-autonumbering": true,
"vscode": {
"interpreter": {
"hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e"
}
}
"toc-autonumbering": true
},
"nbformat": 4,
"nbformat_minor": 5
Expand Down
Loading

0 comments on commit b0ae2c4

Please sign in to comment.