Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
de:modul:m319:learningunits:lu20:aufgaben:eventmanager [2025/06/23 07:45] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m319:learningunits:lu20:aufgaben:eventmanager [2025/06/23 07:45] (aktuell) – ↷ Seite von modul:m319:learningunits:lu20:aufgaben:eventmanager nach de:modul:m319:learningunits:lu20:aufgaben:eventmanager verschoben msuter | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== LU20.A04 - Eventmanager ====== | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | Erstellen Sie die verschiedenen Module (Funktionen, | ||
+ | Nutzen Sie in den Modulen '' | ||
+ | </ | ||
+ | |||
+ | ===== Allgemeine Infos ===== | ||
+ | |||
+ | Die Applikation soll über ein Terminal-Menü verfügen, über das man: | ||
+ | |||
+ | * Neue Events erfassen (Titel, Startdatum, Enddatum). | ||
+ | * Alle vorhandenen Events anzeigen. | ||
+ | * Das Programm beenden kann. | ||
+ | |||
+ | ==== Vorlage ==== | ||
+ | Im Vorlage-Repository sind alle benötigten Funktionen und Klassen als rudimentäre Stubs realisiert. Diese Stubs liefern – soweit nötig – einen statischen Return-Wert oder lediglich Platzhalter, | ||
+ | |||
+ | ==== Vorgehen ==== | ||
+ | |||
+ | Implementieren Sie Schritt für Schritt die geforderten Funktionen / Methoden. | ||
+ | Testen Sie Ihren Code jeweils mithilfe der beiliegenden Tests. | ||
+ | Verwenden Sie dazu den Befehl: | ||
+ | < | ||
+ | Immer wenn neue Testfälle erfolgreich laufen, committen & pushen Sie Ihren Code. | ||
+ | ===== Module ===== | ||
+ | ==== Modul: event.py ==== | ||
+ | <WRAP center round box 100%> | ||
+ | === Dataclass - Rental === | ||
+ | |||
+ | * Titel (String) | ||
+ | * Startdatum (datetime) | ||
+ | * Enddatum (datetime) | ||
+ | </ | ||
+ | |||
+ | <WRAP center round box 100%> | ||
+ | === @property duration() === | ||
+ | | Argumente | self | | ||
+ | | Rückgabewerte | Die Dauer (in Tagen oder Stunden) (timedelta) | | ||
+ | **Logik** | ||
+ | Die Dauer des Events verfügbar machen. | ||
+ | </ | ||
+ | |||
+ | ==== Modul: management.py | ||
+ | <WRAP center round box 100%> | ||
+ | === read_date === | ||
+ | | Argumente | prompt | | ||
+ | | Rückgabewerte | '' | ||
+ | **Logik** | ||
+ | Zeigt dem User den '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP center round box 100%> | ||
+ | === create_event === | ||
+ | | Argumente | keine | | ||
+ | | Rückgabewerte | '' | ||
+ | **Logik** | ||
+ | Fragt den Benutzer nach dem Event-Titel, | ||
+ | Erstelt ein '' | ||
+ | </ | ||
+ | |||
+ | <WRAP center round box 100%> | ||
+ | === show_events === | ||
+ | | Argumente | '' | ||
+ | | Rückgabewerte | keine | | ||
+ | **Logik** | ||
+ | Gibt eine Liste von Events im Terminal aus (Titel, Startdatum, Enddatum, Dauer). | ||
+ | </ | ||
+ | |||
+ | <WRAP center round box 100%> | ||
+ | === main === | ||
+ | | Argumente | keine | | ||
+ | | Rückgabewerte | keine | | ||
+ | **Logik** | ||
+ | Steuert das Terminal-Menü mit den Optionen "Neuen Event erstellen", | ||
+ | Speichert erstellte Events in einer Liste | ||
+ | |||
+ | **Userdialog** | ||
+ | < | ||
+ | 1) Create Event | ||
+ | 2) Show Events | ||
+ | 3) Exit | ||
+ | Enter your choice: 1 | ||
+ | Enter event title: Semester End Party | ||
+ | Enter start date/time (dd.mm.yyyy hh:mm): 12.07.2025 17.00 | ||
+ | Invalid date/time format. Please try again. | ||
+ | Enter start date/time (dd.mm.yyyy hh:mm): 12.07.2025 17:00 | ||
+ | Enter end date/time (dd.mm.yyyy hh:mm): 13.07.2025 01:00 | ||
+ | Event " | ||
+ | 1) Create Event | ||
+ | 2) Show Events | ||
+ | 3) Exit | ||
+ | Enter your choice: 2 | ||
+ | List of Events: | ||
+ | -------------------------------------------------- | ||
+ | Title: Semester End Party | ||
+ | Start: 12.07.2025 17:00 | ||
+ | End: | ||
+ | Duration: 8:00:00 | ||
+ | -------------------------------------------------- | ||
+ | 1) Create Event | ||
+ | 2) Show Events | ||
+ | 3) Exit | ||
+ | Enter your choice: 3 | ||
+ | Exiting the program. Goodbye! | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | < | ||
+ | < | ||
+ | GitHub Repository https:// | ||
+ | |||
+ | //Lernende am BZZ **müssen** den Link zum GitHub Classroom Assignment verwenden// | ||
+ | </ | ||
+ | |||
+ | {{tag> | ||
+ | [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||