3. Vorlesung

This commit is contained in:
2024-11-01 13:40:56 +01:00
parent 13b7ae6a6e
commit 5258c080bb
20 changed files with 28984 additions and 716 deletions

9283
Material/2.vorlesung.html Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

916
Material/3.Vorlesung.ipynb Normal file
View File

@@ -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
}

File diff suppressed because one or more lines are too long

View File

@@ -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,