Add current solutions.

This commit is contained in:
Jan Paulus 2026-04-13 09:19:44 +02:00
parent ebed7a33a6
commit 9bd7d6b23f

View File

@ -1121,6 +1121,17 @@
"source": [ "source": [
"# Fügen Sie hier Ihren Code für die Funktion ein.\n", "# Fügen Sie hier Ihren Code für die Funktion ein.\n",
"\n", "\n",
"def pascal(list_arg: list) -> list:\n",
" result = [1]\n",
"\n",
" if len(list_arg) > 1:\n",
" result.extend([arg1+arg2 for arg1, arg2 in zip(list_arg[:-1], list_arg[1:])])\n",
" \n",
" if len(list_arg) > 0:\n",
" result.append(1)\n",
"\n",
" return result\n",
"\n",
"print(pascal([]))\n", "print(pascal([]))\n",
"print(pascal([5]))\n", "print(pascal([5]))\n",
"print(pascal([5, 2, 7, 3]))" "print(pascal([5, 2, 7, 3]))"
@ -1143,7 +1154,37 @@
"source": [ "source": [
"# Fügen Sie Ihren Code für die Funktion prim_sum_up_to ein.\n", "# Fügen Sie Ihren Code für die Funktion prim_sum_up_to ein.\n",
"\n", "\n",
"print(prim_sum_up_to(100))" "import timeit\n",
"\n",
"def is_prim(num):\n",
" for div in range(2, num//2+1):\n",
" if num % div == 0:\n",
" return False\n",
" return True\n",
"\n",
"def filter_prim(n):\n",
" prims = [True for _ in range(n+1)]\n",
"\n",
" prims[0] = False\n",
" prims[1] = False\n",
"\n",
" for idx, is_prim in enumerate(prims):\n",
" if is_prim:\n",
" for idx2 in range(idx*2, n+1, idx):\n",
" prims[idx2] = False\n",
"\n",
" return [idx for idx, elem in enumerate(prims) if elem]\n",
"\n",
"def prim_sum_up_to2(n):\n",
" return sum(filter_prim(n))\n",
"\n",
"def prim_sum_up_to1(n):\n",
" return sum([num for num in range(2, n+1) if is_prim(num)])\n",
"\n",
"#print(prim_sum_up_to1(20))\n",
"\n",
"print(timeit.timeit(lambda: prim_sum_up_to1(1000), number=1000))\n",
"print(timeit.timeit(lambda: prim_sum_up_to2(1000), number=1000))"
] ]
}, },
{ {
@ -1169,7 +1210,19 @@
"source": [ "source": [
"liste = [1, 'ABBA', 23.3, 45, 'Text', -123]\n", "liste = [1, 'ABBA', 23.3, 45, 'Text', -123]\n",
"\n", "\n",
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"\n",
"# list_dict = {}\n",
"\n",
"# for idx, elem in enumerate(liste):\n",
"# list_dict[idx] = elem\n",
"\n",
"#list_dict = {0: 1, 1: 'ABBA', 2: 23.5, 3: 45, 4: 'Text', 5: -123}\n",
"\n",
"list_dict = {idx: value for idx, value in enumerate(liste)}\n",
"\n",
"for key in list_dict:\n",
" print(f'{key} --> {list_dict[key]}')\n"
] ]
}, },
{ {
@ -1199,7 +1252,27 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"\n",
"stud_dict = {}\n",
"\n",
"stud_id = -1\n",
"\n",
"while stud_id != 0:\n",
" stud_id = int(input('Geben Sie eine Matrikelnummer ein: '))\n",
"\n",
" if stud_id != 0:\n",
" if stud_id in stud_dict.keys():\n",
" print(f'Unter {stud_id} ist {stud_dict[stud_id]} gespeichert.')\n",
" elif stud_id > 0:\n",
" name = input('Geben Sie einen Namen an: ')\n",
" stud_dict[stud_id] = name\n",
" print(f'Unter {stud_id} wurde {name} gespeichert.')\n",
" elif stud_id < 0 and -stud_id in stud_dict:\n",
" del stud_dict[-stud_id]\n",
" print(f'Eintrag {-stud_id} wurde gelöscht.')\n",
" else:\n",
" print('Unbekannte Matrikelnummer.')"
] ]
}, },
{ {
@ -1232,7 +1305,12 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"altes_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 3}\n",
"neues_dict = {altes_dict[key]: key for key in altes_dict}\n",
"\n",
"print(altes_dict)\n",
"print(neues_dict)"
] ]
}, },
{ {
@ -1273,7 +1351,24 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"\n",
"freq_dict = {}\n",
"\n",
"#is_freq_3 = False\n",
"\n",
"while 3 not in freq_dict.values():\n",
" input_line = input('Eingabe: ')\n",
"\n",
" if input_line not in freq_dict:\n",
" freq_dict[input_line] = 0\n",
" \n",
" freq_dict[input_line] += 1\n",
"\n",
" #freq_dict[input_line] = freq_dict.get(input_line, default=0) + 1\n",
"\n",
"for line in freq_dict:\n",
" print(f'Die Eingabe {line} wurde {freq_dict[line]}-mal getätigt.')"
] ]
}, },
{ {
@ -1302,7 +1397,17 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"\n",
"some_dict = {'a': 'ein wert'}\n",
"\n",
"def get_it_or_none1(some_dict, key):\n",
" if key in some_dict:\n",
" return key\n",
" else:\n",
" return None\n",
"\n",
"print(get_it_or_none1(some_dict, 'b'))"
] ]
}, },
{ {
@ -1320,7 +1425,15 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"\n",
"def get_it_or_none2(some_dict, key):\n",
" try:\n",
" return some_dict[key]\n",
" except:\n",
" return None\n",
"\n",
"print(get_it_or_none2(some_dict, 'b'))\n"
] ]
}, },
{ {
@ -1339,7 +1452,9 @@
"source": [ "source": [
"import timeit\n", "import timeit\n",
"\n", "\n",
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"print(timeit.timeit(lambda: get_it_or_none1(some_dict, 'b'), number=100000))\n",
"print(timeit.timeit(lambda: get_it_or_none2(some_dict, 'b'), number=100000))"
] ]
}, },
{ {
@ -1361,7 +1476,8 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"# Fügen Sie hier Ihren Code ein." "# Fügen Sie hier Ihren Code ein.\n",
"print(timeit.timeit(lambda: some_dict.get('b', None), number=1000))"
] ]
}, },
{ {
@ -1378,6 +1494,26 @@
"## 8. <a id='toc8_'></a>[Aufgabengruppe Module](#toc0_)" "## 8. <a id='toc8_'></a>[Aufgabengruppe Module](#toc0_)"
] ]
}, },
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%pip install matplotlib\n",
"%pip install numpy\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"x_vals = np.linspace(-5, 5, 1000)\n",
"cos_vals = np.cos(x_vals)\n",
"\n",
"plt.figure()\n",
"plt.plot(x_vals, cos_vals, '-')\n",
"plt.show()"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},