TODO App (3 Punkte) 
Verwende folgendes Template um mit der Übung zu starten: Download
Erstellt wird eine TODO App. Die Verwendung sieht hier als Beispiel so aus:
> add WDIC Hausübung > add Äpfel einkaufen > list 1. WDIC Hausübung 2. Äpfel einkaufen > add "Krieg und Frieden" lesen > remove 2 > list 1. WDIC Hausübung 2. "Krieg und Frieden" lesen > exit
Im Beispiel enthalten sind auch Unittests, die die vorhandene Spezifikation testen.
Erstellen der virtuellen Umgebung 
- Ordner aus
todo.zipentpacken - Mittels Visual Studio Code den Ordner öffnen
- Im Terminal mittels
python.exe -m venv .venvden Ordner für die virtuelle Umgebung erstellen - Mittels
.venv/Scripts/activate.batdie virtuelle Umgebung starten - Die erforderlichen Pakete mittels
pip.exe install -r requirements.txt
Spezifikation 
Die Applikation soll folgende Befehle unterstützen:
add *Text*- fügt ein Element zur Todo Liste hinzuremove *Index*- Index (als Zahl) entfernt den entsprechenden Eintrag aus der Todo Listelist- Listet alle Elemente der Todo Liste aufhelp- Gibt einen Hilfetext aus, der kurz jeden Befehl beschreibtexit- Beendet die Applikation (verläßt dieinput_loopFunktion und liefert die Liste als Rückgabewert)
Weitere Spezifikationspunkte:
- Wenn
removemit einem ungültigen Wert aufgerufen wird, soll die Liste nicht verändert werden (aber auch sonst keine Ausgabe gemacht werden) list,helpundexitsollen zusätzliche Argumente ignorieren- Wenn ein ungültiger Befehl eingegeben wird (z.B.
attstattadd) soll der Ausgabetext vonhelpausgegeben werden
Test mittels pytest 
Ihr könnt eure Applikation mittels pytest testen. Richtet dafür einfach die virtuelle Umgebung ein und startet im Terminal von Visual Studio Code pytest.
Zusatzpunkt (1 Punkt) 
Schreibe eine Funktion build_hashtag_dict, die eine Liste mit Strings als Argument nimmt und eine Liste der Hashtags zusammenstellt.
Hier ein Beispiel:
>>> items = ['#Hausübung WDIC', 'Matheübung #korrigieren', '#Hausübung Deutsch #korrigieren', 'Ausschlafen'] >>> build_hashtag_dict(items) {'Hausübung': ['#Hausübung WDIC', '#Hausübung Deutsch #korrigieren'], 'korrigieren': ['Matheübung korrigieren', '#Hausübung Deutsch #korrigieren']}
Abgabe über Teams.