diff --git a/exercises-toolbox/.gitignore b/exercises-toolbox/.gitignore index 2fe2934d..020660b6 100644 --- a/exercises-toolbox/.gitignore +++ b/exercises-toolbox/.gitignore @@ -2,3 +2,4 @@ *.dummy vorlage.py FB53-Coronafallzahlen.csv +4-scipy/3-polyfit/daten.txt diff --git a/exercises-toolbox/7-git/aufgabe.txt b/exercises-toolbox/6-git/aufgabe.txt similarity index 100% rename from exercises-toolbox/7-git/aufgabe.txt rename to exercises-toolbox/6-git/aufgabe.txt diff --git a/exercises-toolbox/7-git/repo/HEAD b/exercises-toolbox/6-git/repo/HEAD similarity index 100% rename from exercises-toolbox/7-git/repo/HEAD rename to exercises-toolbox/6-git/repo/HEAD diff --git a/exercises-toolbox/7-git/repo/config b/exercises-toolbox/6-git/repo/config similarity index 100% rename from exercises-toolbox/7-git/repo/config rename to exercises-toolbox/6-git/repo/config diff --git a/exercises-toolbox/7-git/repo/description b/exercises-toolbox/6-git/repo/description similarity index 100% rename from exercises-toolbox/7-git/repo/description rename to exercises-toolbox/6-git/repo/description diff --git a/exercises-toolbox/7-git/repo/hooks/applypatch-msg.sample b/exercises-toolbox/6-git/repo/hooks/applypatch-msg.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/applypatch-msg.sample rename to exercises-toolbox/6-git/repo/hooks/applypatch-msg.sample diff --git a/exercises-toolbox/7-git/repo/hooks/commit-msg.sample b/exercises-toolbox/6-git/repo/hooks/commit-msg.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/commit-msg.sample rename to exercises-toolbox/6-git/repo/hooks/commit-msg.sample diff --git a/exercises-toolbox/7-git/repo/hooks/post-update.sample b/exercises-toolbox/6-git/repo/hooks/post-update.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/post-update.sample rename to exercises-toolbox/6-git/repo/hooks/post-update.sample diff --git a/exercises-toolbox/7-git/repo/hooks/pre-applypatch.sample b/exercises-toolbox/6-git/repo/hooks/pre-applypatch.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/pre-applypatch.sample rename to exercises-toolbox/6-git/repo/hooks/pre-applypatch.sample diff --git a/exercises-toolbox/7-git/repo/hooks/pre-commit.sample b/exercises-toolbox/6-git/repo/hooks/pre-commit.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/pre-commit.sample rename to exercises-toolbox/6-git/repo/hooks/pre-commit.sample diff --git a/exercises-toolbox/7-git/repo/hooks/pre-push.sample b/exercises-toolbox/6-git/repo/hooks/pre-push.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/pre-push.sample rename to exercises-toolbox/6-git/repo/hooks/pre-push.sample diff --git a/exercises-toolbox/7-git/repo/hooks/pre-rebase.sample b/exercises-toolbox/6-git/repo/hooks/pre-rebase.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/pre-rebase.sample rename to exercises-toolbox/6-git/repo/hooks/pre-rebase.sample diff --git a/exercises-toolbox/7-git/repo/hooks/prepare-commit-msg.sample b/exercises-toolbox/6-git/repo/hooks/prepare-commit-msg.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/prepare-commit-msg.sample rename to exercises-toolbox/6-git/repo/hooks/prepare-commit-msg.sample diff --git a/exercises-toolbox/7-git/repo/hooks/update.sample b/exercises-toolbox/6-git/repo/hooks/update.sample similarity index 100% rename from exercises-toolbox/7-git/repo/hooks/update.sample rename to exercises-toolbox/6-git/repo/hooks/update.sample diff --git a/exercises-toolbox/7-git/repo/info/exclude b/exercises-toolbox/6-git/repo/info/exclude similarity index 100% rename from exercises-toolbox/7-git/repo/info/exclude rename to exercises-toolbox/6-git/repo/info/exclude diff --git a/exercises-toolbox/7-git/repo/objects/08/12ad76f0973724e371b34d1d4ce0f94a1f8116 b/exercises-toolbox/6-git/repo/objects/08/12ad76f0973724e371b34d1d4ce0f94a1f8116 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/08/12ad76f0973724e371b34d1d4ce0f94a1f8116 rename to exercises-toolbox/6-git/repo/objects/08/12ad76f0973724e371b34d1d4ce0f94a1f8116 diff --git a/exercises-toolbox/7-git/repo/objects/31/0ad6d3e3742ee979b82278b5cc1f876603ce31 b/exercises-toolbox/6-git/repo/objects/31/0ad6d3e3742ee979b82278b5cc1f876603ce31 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/31/0ad6d3e3742ee979b82278b5cc1f876603ce31 rename to exercises-toolbox/6-git/repo/objects/31/0ad6d3e3742ee979b82278b5cc1f876603ce31 diff --git a/exercises-toolbox/7-git/repo/objects/3e/e8a5721ac10476e0c823f67fc56e62ac4f5cea b/exercises-toolbox/6-git/repo/objects/3e/e8a5721ac10476e0c823f67fc56e62ac4f5cea similarity index 100% rename from exercises-toolbox/7-git/repo/objects/3e/e8a5721ac10476e0c823f67fc56e62ac4f5cea rename to exercises-toolbox/6-git/repo/objects/3e/e8a5721ac10476e0c823f67fc56e62ac4f5cea diff --git a/exercises-toolbox/7-git/repo/objects/49/c601bc19da81a83a205449e4897f19ba7a3206 b/exercises-toolbox/6-git/repo/objects/49/c601bc19da81a83a205449e4897f19ba7a3206 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/49/c601bc19da81a83a205449e4897f19ba7a3206 rename to exercises-toolbox/6-git/repo/objects/49/c601bc19da81a83a205449e4897f19ba7a3206 diff --git a/exercises-toolbox/7-git/repo/objects/66/c41ab8a887f27f8bebcd305411df5326c8c9ed b/exercises-toolbox/6-git/repo/objects/66/c41ab8a887f27f8bebcd305411df5326c8c9ed similarity index 100% rename from exercises-toolbox/7-git/repo/objects/66/c41ab8a887f27f8bebcd305411df5326c8c9ed rename to exercises-toolbox/6-git/repo/objects/66/c41ab8a887f27f8bebcd305411df5326c8c9ed diff --git a/exercises-toolbox/7-git/repo/objects/74/4809e58151727928bd7c2b817ae0b013b60abd b/exercises-toolbox/6-git/repo/objects/74/4809e58151727928bd7c2b817ae0b013b60abd similarity index 100% rename from exercises-toolbox/7-git/repo/objects/74/4809e58151727928bd7c2b817ae0b013b60abd rename to exercises-toolbox/6-git/repo/objects/74/4809e58151727928bd7c2b817ae0b013b60abd diff --git a/exercises-toolbox/7-git/repo/objects/93/98763c2fc0165a7739e58b5612234e0a9a0b2f b/exercises-toolbox/6-git/repo/objects/93/98763c2fc0165a7739e58b5612234e0a9a0b2f similarity index 100% rename from exercises-toolbox/7-git/repo/objects/93/98763c2fc0165a7739e58b5612234e0a9a0b2f rename to exercises-toolbox/6-git/repo/objects/93/98763c2fc0165a7739e58b5612234e0a9a0b2f diff --git a/exercises-toolbox/7-git/repo/objects/9d/67a8c6b9ac9c9749720797ad3c51031906bf22 b/exercises-toolbox/6-git/repo/objects/9d/67a8c6b9ac9c9749720797ad3c51031906bf22 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/9d/67a8c6b9ac9c9749720797ad3c51031906bf22 rename to exercises-toolbox/6-git/repo/objects/9d/67a8c6b9ac9c9749720797ad3c51031906bf22 diff --git a/exercises-toolbox/7-git/repo/objects/9e/4a210068506c9c80685f2972657beb1e7e9baf b/exercises-toolbox/6-git/repo/objects/9e/4a210068506c9c80685f2972657beb1e7e9baf similarity index 100% rename from exercises-toolbox/7-git/repo/objects/9e/4a210068506c9c80685f2972657beb1e7e9baf rename to exercises-toolbox/6-git/repo/objects/9e/4a210068506c9c80685f2972657beb1e7e9baf diff --git a/exercises-toolbox/7-git/repo/objects/ab/a966bc5470ff40518141076d239d80752c7c45 b/exercises-toolbox/6-git/repo/objects/ab/a966bc5470ff40518141076d239d80752c7c45 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/ab/a966bc5470ff40518141076d239d80752c7c45 rename to exercises-toolbox/6-git/repo/objects/ab/a966bc5470ff40518141076d239d80752c7c45 diff --git a/exercises-toolbox/7-git/repo/objects/b0/566c0142bc9889bd683c21a0819f264628f0f2 b/exercises-toolbox/6-git/repo/objects/b0/566c0142bc9889bd683c21a0819f264628f0f2 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/b0/566c0142bc9889bd683c21a0819f264628f0f2 rename to exercises-toolbox/6-git/repo/objects/b0/566c0142bc9889bd683c21a0819f264628f0f2 diff --git a/exercises-toolbox/7-git/repo/objects/bd/e6fe651d9c6da730f477c1d6e7f1a836030af9 b/exercises-toolbox/6-git/repo/objects/bd/e6fe651d9c6da730f477c1d6e7f1a836030af9 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/bd/e6fe651d9c6da730f477c1d6e7f1a836030af9 rename to exercises-toolbox/6-git/repo/objects/bd/e6fe651d9c6da730f477c1d6e7f1a836030af9 diff --git a/exercises-toolbox/7-git/repo/objects/d5/f152a8469657041b4d51e932210ecd2d65b6d6 b/exercises-toolbox/6-git/repo/objects/d5/f152a8469657041b4d51e932210ecd2d65b6d6 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/d5/f152a8469657041b4d51e932210ecd2d65b6d6 rename to exercises-toolbox/6-git/repo/objects/d5/f152a8469657041b4d51e932210ecd2d65b6d6 diff --git a/exercises-toolbox/7-git/repo/objects/e0/2d436b047c6a0bacd25bfa9239590001b5f58e b/exercises-toolbox/6-git/repo/objects/e0/2d436b047c6a0bacd25bfa9239590001b5f58e similarity index 100% rename from exercises-toolbox/7-git/repo/objects/e0/2d436b047c6a0bacd25bfa9239590001b5f58e rename to exercises-toolbox/6-git/repo/objects/e0/2d436b047c6a0bacd25bfa9239590001b5f58e diff --git a/exercises-toolbox/7-git/repo/objects/e0/809ac6648cae33e48e1eb04a116645b32faf67 b/exercises-toolbox/6-git/repo/objects/e0/809ac6648cae33e48e1eb04a116645b32faf67 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/e0/809ac6648cae33e48e1eb04a116645b32faf67 rename to exercises-toolbox/6-git/repo/objects/e0/809ac6648cae33e48e1eb04a116645b32faf67 diff --git a/exercises-toolbox/7-git/repo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/exercises-toolbox/6-git/repo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 rename to exercises-toolbox/6-git/repo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/exercises-toolbox/7-git/repo/objects/f9/3e3a1a1525fb5b91020da86e44810c87a2d7bc b/exercises-toolbox/6-git/repo/objects/f9/3e3a1a1525fb5b91020da86e44810c87a2d7bc similarity index 100% rename from exercises-toolbox/7-git/repo/objects/f9/3e3a1a1525fb5b91020da86e44810c87a2d7bc rename to exercises-toolbox/6-git/repo/objects/f9/3e3a1a1525fb5b91020da86e44810c87a2d7bc diff --git a/exercises-toolbox/7-git/repo/objects/fd/77fce646b2a931a52c96c7bcac626085a81184 b/exercises-toolbox/6-git/repo/objects/fd/77fce646b2a931a52c96c7bcac626085a81184 similarity index 100% rename from exercises-toolbox/7-git/repo/objects/fd/77fce646b2a931a52c96c7bcac626085a81184 rename to exercises-toolbox/6-git/repo/objects/fd/77fce646b2a931a52c96c7bcac626085a81184 diff --git a/exercises-toolbox/7-git/repo/refs/heads/main b/exercises-toolbox/6-git/repo/refs/heads/main similarity index 100% rename from exercises-toolbox/7-git/repo/refs/heads/main rename to exercises-toolbox/6-git/repo/refs/heads/main diff --git a/exercises-toolbox/6-make/.gitignore b/exercises-toolbox/7-make/.gitignore similarity index 100% rename from exercises-toolbox/6-make/.gitignore rename to exercises-toolbox/7-make/.gitignore diff --git a/exercises-toolbox/6-make/I.txt b/exercises-toolbox/7-make/I.txt similarity index 100% rename from exercises-toolbox/6-make/I.txt rename to exercises-toolbox/7-make/I.txt diff --git a/exercises-toolbox/6-make/L.txt b/exercises-toolbox/7-make/L.txt similarity index 100% rename from exercises-toolbox/6-make/L.txt rename to exercises-toolbox/7-make/L.txt diff --git a/exercises-toolbox/6-make/Makefile-bonus-loesung b/exercises-toolbox/7-make/Makefile-bonus-loesung similarity index 100% rename from exercises-toolbox/6-make/Makefile-bonus-loesung rename to exercises-toolbox/7-make/Makefile-bonus-loesung diff --git a/exercises-toolbox/6-make/Makefile-loesung b/exercises-toolbox/7-make/Makefile-loesung similarity index 100% rename from exercises-toolbox/6-make/Makefile-loesung rename to exercises-toolbox/7-make/Makefile-loesung diff --git a/exercises-toolbox/6-make/aufgabe.txt b/exercises-toolbox/7-make/aufgabe.txt similarity index 100% rename from exercises-toolbox/6-make/aufgabe.txt rename to exercises-toolbox/7-make/aufgabe.txt diff --git a/exercises-toolbox/6-make/auswertung-bonus-loesung.py b/exercises-toolbox/7-make/auswertung-bonus-loesung.py similarity index 100% rename from exercises-toolbox/6-make/auswertung-bonus-loesung.py rename to exercises-toolbox/7-make/auswertung-bonus-loesung.py diff --git a/exercises-toolbox/6-make/auswertung.py b/exercises-toolbox/7-make/auswertung.py similarity index 100% rename from exercises-toolbox/6-make/auswertung.py rename to exercises-toolbox/7-make/auswertung.py diff --git a/exercises-toolbox/6-make/lambda.txt b/exercises-toolbox/7-make/lambda.txt similarity index 100% rename from exercises-toolbox/6-make/lambda.txt rename to exercises-toolbox/7-make/lambda.txt diff --git a/exercises-toolbox/Makefile b/exercises-toolbox/Makefile index a43fcd44..c5f8367a 100644 --- a/exercises-toolbox/Makefile +++ b/exercises-toolbox/Makefile @@ -10,8 +10,8 @@ all: $(BUILDS) @cp -r 1-python build/exercises-toolbox-1 @cp -r 2-numpy 3-matplotlib build/exercises-toolbox-2 @cp -r 4-scipy 5-uncertainties build/exercises-toolbox-3 - @cp -r 6-make build/exercises-toolbox-4 - @cp -r 7-git 8-all build/exercises-toolbox-5 + @cp -r 6-git build/exercises-toolbox-4 + @cp -r 7-make 8-all build/exercises-toolbox-5 @rm -rf build/exercises-toolbox-{1,2,3,4,5}/*/{,*/}{Makefile,.gitignore,__pycache__,*.dummy} @cd build ; \ for day in 1 2 3 4 5 ; do \ diff --git a/python/python.ipynb b/python/python.ipynb index 7d98d1a0..2a781668 100644 --- a/python/python.ipynb +++ b/python/python.ipynb @@ -6,7 +6,7 @@ "source": [ "![Python](https://www.python.org/static/community_logos/python-logo-generic.svg)\n", "\n", - "- Aktuelle Version: Python 3.11\n", + "- Aktuelle Version: Python 3.12\n", "- *Interpretierte* Programmiersprache\n", " - Kein Kompilieren\n", " - Programme werden mit dem `python`-Programm ausgeführt\n", @@ -366,6 +366,30 @@ "c < a < b" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kurzaufgaben 1, 2 und 3\n", + "\n", + "1. Definiere die folgenden Variablen mit den angegebenen Werten\n", + "- Variable t , Wert: 0.5\n", + "- Variable h_i, Wert: 10\n", + "- Variable v_i, Wert: 0.75\n", + "- Variable a_i, Wert: -9.81\n", + "\n", + "2. Berechne mit den obigen Werten die Höhe h,\n", + " Geschwindigkeit v und Beschleunigung a\n", + " zum Zeitpunkt t=0.5 eines fallenden Objekts.\n", + " Speichert die Ergebnisse in entsprechenden \n", + " Variablen h, v, a. \n", + "\n", + "3. Prüfe, ob das Objekt bereits über einen Meter gefallen ist.\n", + "\n", + "\n", + "Die Lösungen für die Kurzaufgaben sind am Ende dieser Datei." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -503,6 +527,15 @@ "print(a)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kurzaufgaben 4\n", + "4. Nutze die `print`-Funktion, um die gegebenen Startwerte \n", + "und die Ergebnisse der letzten Kurzaufgabe mit Überschriften zu versehen und auszugeben." + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -530,7 +563,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Listen können mit `[]` indiziert werdern" + "Listen können mit `[]` indiziert werden" ] }, { @@ -662,7 +695,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Mit `in` wird überprüft ob ein Wert in der Liste ist:" + "Mit `in` wird überprüft, ob ein Wert in der Liste ist:" ] }, { @@ -758,6 +791,24 @@ "tup[1] = 7" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kurzaufgaben 5\n", + "\n", + "5. Definiere eine Liste mit Namen T, die 3 Werte 0.5, 1 und 1.5 enthält\n", + " Definiere drei leere Listen mit den Namen H, V und A\n", + " Berechne für jede der drei Zeiten wie zuvor die Höhe, Geschwindigkeit\n", + " und Strecke, jedoch indem du\n", + " \n", + " a) die Werte aus der Liste T verwendest (T[i] für das entsprechende i)\n", + " b) die Ergebnisse an die zugehörige Liste anhängst\n", + " \n", + " \n", + " Gib die Listen H, V, A mit der `print`-Funktion aus\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -848,6 +899,22 @@ "data" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kurzaufgaben 6 und 7\n", + "\n", + "6. Speichere die zuvor erstellten Listen in einem Dictionary mit dem Namen \n", + "data mit den keys t, h, v und a. \n", + "Gib das Dictionary mit der `print`-Funktion aus. \n", + "\n", + "7. Greife auf die folgenden Werte im Dictionary zu:\n", + "- der zweite Wert von t\n", + "- der erste Wert von v\n", + "- der letzte Wert von h\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1199,7 +1266,7 @@ "\n", "Vorteile:\n", "* Weniger Code\n", - "* Änderungen nur an einer Stelle notwending" + "* Änderungen nur an einer Stelle notwendig" ] }, { @@ -1262,6 +1329,26 @@ "factorial(4)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kurzaufgaben 8 und 9\n", + "\n", + "8. Definiere jeweils eine Funktion für die Berechnung von h, v und a \n", + "zu einem beliebigen Zeitpunkt t \n", + "\n", + "9. Erstelle eine neue Liste T mit den Werte 0.25, 0.5, 0.75, 1.0, 1.25 und 1.5.\n", + "Und erstelle das Dictionary data erneut für alle Zeitpunkte in T.\n", + "Verwende dafür die in 8. erstellten Funktionen.\n", + "\n", + "Zusatz: Du kannst auch die Listen H, V und A neu erstellen und dafür eine \n", + "Schleife verwenden.\n", + "\n", + "Gib data mit der `print`-Funktion aus.\n", + "\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1277,7 +1364,7 @@ "Zahlreiche Module sind Teil jeder Python Installation, die sogenannte \"standard library\":\n", "https://docs.python.org/3/library/\n", "\n", - "Weitere Module hast du in deiner `toolbox` Umgebung mit Mamba installiert." + "Weitere Module hast du in deiner `toolbox` Umgebung mit Mamba installiert." ] }, { @@ -1315,7 +1402,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Den Modulen können mit `as` neue Namen gegeben werden\n", + "Den Modulen können mit `as` neue Namen gegeben werden.\n", "Viele Module haben jedoch Konventionen für den Kurznamen, die du verwenden solltest." ] }, @@ -1415,7 +1502,7 @@ "U = 42\n", "R = 7\n", "\n", - "print(f\"Spannung U = {U}, R = {R}, I = {U / R}\")" + "print(f\"Spannung U = {U} V, R = {R} Ω, I = {U / R} A\")" ] }, { @@ -1461,7 +1548,7 @@ " - `'\\t'` -> Tab\n", " - `'\\\\'` -> normales `'\\'`\n", "\n", - "Wenn viele `'\\'` geschrieben werden müssen (z.B. in LaTeX-Code), lohnt es sich diese Funktion mit dem Prefix `r` auszuschalten:" + "Wenn viele `'\\'` geschrieben werden müssen (z.B. in LaTeX-Code), lohnt es sich diese Funktion mit dem Präfix `r` auszuschalten:" ] }, { @@ -1512,6 +1599,25 @@ "print(rf\"\\qty {{ {energy:.4f} }} {{ \\kilo\\joule }}\")" ] }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Kurzaufgaben 10\n", + "Nutze eine Schleife über das Dictionary data, um die Daten in Tabellenform auszugeben.\n", + "\n", + "```\n", + "t 0.25 0.50 0.75 1.00 1.25 1.50\n", + "h 9.88 9.15 7.80 5.84 3.27 0.09\n", + "v -2.27 -4.53 -6.79 -9.06 -11.33 -13.59\n", + "a -9.81 -9.81 -9.81 -9.81 -9.81 -9.81\n", + "```\n", + "Jede Zeile der Tabelle kann dabei durch Verwendung eines f-Strings formatiert werden.\n", + "\n" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1625,7 +1731,7 @@ "metadata": {}, "source": [ "## Gerade am Anfang beliebt: `IndentationError`: \n", - "Die Fehlermeldung gibt die Zeile an in der Fehler auftritt (hier: `line 8`) \n", + "Die Fehlermeldung gibt die Zeile an, in der der Fehler auftritt (hier: `line 8`) \n", "und den Grund für den Fehler, häufig mit Erklärung (hier: `IndentationError: expected an indented block`)." ] }, @@ -1653,7 +1759,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Allgemeiner Syntax-Fehler: ` SyntaxError`\n", + "## Allgemeiner Syntax-Fehler: `SyntaxError`\n", "Zeile in der der Fehler auftritt: `line 6` \n", "Grund für den Fehler: `SyntaxError: invalid syntax` \n", "Hier sogar mit Hinweis auf das fehlerhafte/fehlende Zeichen.\n" @@ -1799,7 +1905,7 @@ "## Komplexer Fehler mit Traceback:\n", "Wenn an einem Fehler mehrere Funktionen beteiligt sind,\n", "gibt die Fehlermeldung einen *Traceback* aus.\n", - "Dieser Fall ist eher die Regel, vorallem, wenn Module verwendet werden.\n", + "Dieser Fall ist eher die Regel, vor allem, wenn Module verwendet werden.\n", "Der *Traceback* zeigt die Reihenfolge aller Funktionsaufrufe, die\n", "am Ende zu dem Fehler geführt haben mit dem letzten Aufruf ganz unten *(most recent call last)*.\n", "\n", @@ -1986,6 +2092,173 @@ "die vorher definiert wurden. Man kann dann interaktiv nach Problemen im Code suchen\n", "oder wie hier herausfinden wie Code funktioniert." ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Lösungen für die Kurzaufgaben\n", + "\n", + "
\n", + "Lösung zu 1., 2. und 3.\n", + " \n", + "```\n", + "# 1.\n", + "t = 0.5\n", + "h_i = 10\n", + "v_i = 0.75\n", + "a_i = -9.81\n", + "\n", + "# 2.\n", + "h = h_i + v_i * t + 1/2 * a_i * t**2 \n", + "v = v_i * t + a_i * t \n", + "a = a_i\n", + "\n", + "# 3.\n", + "h < 9\n", + "```\n", + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "Lösung zu 4.\n", + " \n", + "```\n", + "# 4.\n", + "print(\"Start...\")\n", + "print(\"...höhe\")\n", + "print(h_i)\n", + "print(\"...geschwindigkeit\")\n", + "print(v_i)\n", + "print(\"...beschleunigung\")\n", + "print(a_i)\n", + "\n", + "print(\"Nach der Zeit t\")\n", + "print(t)\n", + "print(\"Höhe\")\n", + "print(h)\n", + "print(\"Geschwindigkeit\")\n", + "print(v)\n", + "print(\"Beschleunigung\")\n", + "print(a)\n", + "\n", + "```\n", + "
\n", + "\n", + "\n", + "
\n", + "Lösung zu 5.\n", + " \n", + "```\n", + "# 5.\n", + "T = [0.5, 1, 1.5]\n", + "H = []\n", + "V = []\n", + "A = []\n", + "\n", + "\n", + "H.append(h_i + v_i * T[0] + 1/2 * a_i * T[0]**2)\n", + "H.append(h_i + v_i * T[1] + 1/2 * a_i * T[1]**2)\n", + "H.append(h_i + v_i * T[2] + 1/2 * a_i * T[2]**2)\n", + "\n", + "V.append(v_i * T[0] + a_i * T[0])\n", + "V.append(v_i * T[1] + a_i * T[1])\n", + "V.append(v_i * T[2] + a_i * T[2])\n", + "\n", + "A.append(a_i)\n", + "A.append(a_i)\n", + "A.append(a_i)\n", + "\n", + "print(H)\n", + "print(V)\n", + "print(A)\n", + "```\n", + "
\n", + "\n", + "\n", + "
\n", + "Lösung zu 6. und 7.\n", + " \n", + "```\n", + "# 6.\n", + "data = {\"t\":T, \"h\": H, \"v\": V, \"a\":A}\n", + "print(data)\n", + "\n", + "\n", + "# 7.\n", + "print(data[\"t\"][1])\n", + "print(data[\"v\"][0])\n", + "print(data[\"h\"][-1])\n", + "\n", + "```\n", + "
\n", + "\n", + "\n", + "
\n", + "Lösung zu 8. und 9.\n", + " \n", + "```\n", + "# 8.\n", + "def h(t):\n", + " return h_i + v_i * t + 1/2 * a_i * t**2\n", + "\n", + "\n", + "def v(t):\n", + " return v_i * t + a_i * t\n", + "\n", + "\n", + "def a(t):\n", + " return a_i\n", + "\n", + "\n", + "# 9.\n", + "\n", + "T = [0.25, 0.5, 0.75, 1.0, 1.25, 1.5]\n", + "\n", + "# ohne Schleife\n", + "data = {\"t\":T, \"h\": [h(T[0]),h(T[1]),h(T[2]),h(T[3]),h(T[4]),h(T[5])],\n", + " \"v\": [v(T[0]),v(T[1]),v(T[2]),v(T[3]),v(T[4]),v(T[5])],\n", + " \"a\": [a(T[0]),a(T[1]),a(T[2]),a(T[3]),a(T[4]),a(T[5])]}\n", + "\n", + "print(data)\n", + "\n", + "\n", + "# mit Schleife\n", + "H = []\n", + "V = []\n", + "A = []\n", + "\n", + "for t in T:\n", + " H.append(h(t))\n", + " V.append(v(t))\n", + " A.append(a(t))\n", + "\n", + "\n", + "data = {\"t\":T, \"h\": H, \"v\": V, \"a\": A}\n", + "print(data)\n", + "\n", + "```\n", + "
\n", + "\n", + "\n", + "
\n", + "Lösung zu 10.\n", + " \n", + "```\n", + "for k,v in data.items():\n", + " print(f\"{k} {v[0]:.2f} {v[1]:.2f} {v[2]:.2f} {v[3]:.2f} {v[4]:.2f} {v[5]:.2f}\")\n", + "\n", + "# Am Dezimaltrennzeichen ausgerichtet\n", + "\n", + "for k,v in data.items():\n", + " print(f\"{k} {v[0]:6.2f} {v[1]:6.2f} {v[2]:6.2f} {v[3]:6.2f} {v[4]:6.2f} {v[5]:6.2f}\")\n", + "```\n", + "\n", + "
\n" + ] } ], "metadata": { @@ -2005,7 +2278,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.6" + "version": "3.12.5" } }, "nbformat": 4,