Skip to content

Commit 8a4405f

Browse files
committed
Level 5 aufgeräumt
1 parent df16b17 commit 8a4405f

6 files changed

Lines changed: 120 additions & 164 deletions

File tree

Level_05/Level_5.ipynb

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,126 @@
342342
"### WARNUNG: Kompliziert\n",
343343
"Das Debuggen von Rekursiven aufrufen kann extrem Kompliziert werden. Das sollte unbedingt beachtet werden, wenn ein Programm einem realen Einsatzzweck zugeführt werden soll und ob eine Lösung mit einer Schleife nicht besser geeignet wäre."
344344
]
345+
},
346+
{
347+
"cell_type": "markdown",
348+
"id": "1e2cdfb1",
349+
"metadata": {},
350+
"source": [
351+
"# Zeit\n",
352+
"\n",
353+
"Dieser Abschnitt zeigt ein paar Funktionen von `time`.\n",
354+
"\n",
355+
"Damit kann man z.B. die aktuelle Uhrzeit abfragen:"
356+
]
357+
},
358+
{
359+
"cell_type": "code",
360+
"execution_count": 2,
361+
"id": "bf3ede3e",
362+
"metadata": {},
363+
"outputs": [
364+
{
365+
"name": "stdout",
366+
"output_type": "stream",
367+
"text": [
368+
"Timestamp: 1763056857.404581\n",
369+
"strukturierte Daten: time.struct_time(tm_year=2025, tm_mon=11, tm_mday=13, tm_hour=19, tm_min=0, tm_sec=57, tm_wday=3, tm_yday=317, tm_isdst=0)\n"
370+
]
371+
}
372+
],
373+
"source": [
374+
"import time\n",
375+
"print(\"Timestamp:\", time.time())\n",
376+
"print(\"strukturierte Daten:\", time.localtime())"
377+
]
378+
},
379+
{
380+
"cell_type": "markdown",
381+
"id": "3ba3f394",
382+
"metadata": {},
383+
"source": [
384+
"# mehr String-Funktionen\n",
385+
"\n",
386+
"## Escaping\n",
387+
"\n",
388+
"Es gibt Zeichen, die man nicht eingeben kann. Stattdessen lassen sich diese über\n",
389+
"Backslash-Escapes benutzen:"
390+
]
391+
},
392+
{
393+
"cell_type": "code",
394+
"execution_count": null,
395+
"id": "cc0d83bc",
396+
"metadata": {},
397+
"outputs": [],
398+
"source": [
399+
"print(\"Tab:\\t#\")\n",
400+
"print(\"Wal: \\N{WHALE}\")\n",
401+
"print(\"\\aabc\")\n",
402+
"print(\"\\\\0/\") # der Backslash selbst\n",
403+
"# Rawstrings können kein escaping:\n",
404+
"print(r\"\\n\")\n",
405+
"print(r\"\\0/\")"
406+
]
407+
},
408+
{
409+
"cell_type": "markdown",
410+
"id": "bb476ec4",
411+
"metadata": {},
412+
"source": [
413+
"## Formatting\n",
414+
"\n",
415+
"Mit geschweiften Klammern können Platzhalter in Strings eingesetzt werden:\n",
416+
"\n",
417+
"(mehr Details: <https://www.digitalocean.com/community/tutorials/how-to-use-string-formatters-in-python-3>)"
418+
]
419+
},
420+
{
421+
"cell_type": "code",
422+
"execution_count": null,
423+
"id": "ccb62994",
424+
"metadata": {},
425+
"outputs": [],
426+
"source": [
427+
"print(\"Das folgende Wort wird ersetzt: '{}' Der Rest nicht.\".format(\"blargh\"))\n",
428+
"print(\n",
429+
" \"Das folgende Wort wird ersetzt: '{} und {}' Der Rest nicht.\".format(\"foo\", \"bar\")\n",
430+
")\n"
431+
]
432+
},
433+
{
434+
"cell_type": "markdown",
435+
"id": "f8304b68",
436+
"metadata": {},
437+
"source": [
438+
"## Aufspalten\n",
439+
"\n",
440+
"Mit `.split` lassen sich Strings an einem Trennzeichen aufspalten:\n",
441+
"Damit lässt sich ein einfacher (aber fehleranfälliger) CSV-Parser bauen."
442+
]
443+
},
444+
{
445+
"cell_type": "code",
446+
"execution_count": null,
447+
"id": "3e6c1bb7",
448+
"metadata": {},
449+
"outputs": [
450+
{
451+
"name": "stdout",
452+
"output_type": "stream",
453+
"text": [
454+
"['a', 'b', 'cd']\n",
455+
"a;b;cd\n"
456+
]
457+
}
458+
],
459+
"source": [
460+
"s = \"a;b;cd\"\n",
461+
"l = s.split(\";\")\n",
462+
"print(repr(l))\n",
463+
"print(\";\".join(l))"
464+
]
345465
}
346466
],
347467
"metadata": {

Level_05/funktionen.py

Lines changed: 0 additions & 84 deletions
This file was deleted.

Level_05/strings_erweitert.py

Lines changed: 0 additions & 44 deletions
This file was deleted.

Level_05/zeit.py

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)