From e4903fc07dfe8d8e5b2a8a25964eb07a8cf9674d Mon Sep 17 00:00:00 2001 From: Hong-Phuc Bui <hong-phuc.bui@htwsaar.de> Date: Mon, 27 May 2024 17:24:10 +0200 Subject: [PATCH] dms --- funktion-modular/study-effort/effort_semester.py | 6 funktion-modular/lern-taxonomie/test_converter.py | 30 ++++ funktion-modular/dms_to_dd/dms_dd.py | 23 +++ funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc | 0 funktion-modular/callstack-example/trace_error.py | 23 +++ funktion-modular/lern-taxonomie/taxonomie.csv | 314 ++++++++++++++++++++++++++++++++++++++++++++ funktion-modular/calendar/HOWTO.md | 2 funktion-modular/lern-taxonomie/README.md | 15 ++ 8 files changed, 408 insertions(+), 5 deletions(-) diff --git a/funktion-modular/calendar/HOWTO.md b/funktion-modular/calendar/HOWTO.md index 56f2d5d..c53b5fa 100644 --- a/funktion-modular/calendar/HOWTO.md +++ b/funktion-modular/calendar/HOWTO.md @@ -11,5 +11,5 @@ * For some files ```shell -python -m unittest -p '*_test.py' +python -m unittest -p 'test_<somefile>.py' ``` diff --git a/funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc b/funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc index 7934e3f..d4c2668 100644 --- a/funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc +++ b/funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc Binary files differ diff --git a/funktion-modular/callstack-example/trace_error.py b/funktion-modular/callstack-example/trace_error.py new file mode 100644 index 0000000..3e3d5f8 --- /dev/null +++ b/funktion-modular/callstack-example/trace_error.py @@ -0,0 +1,23 @@ + + +def ask_pair_of_radii() -> (int, int): + input_ok = False + while not input_ok: + try: + r1 = int(input("r1 = ")) + r2 = int(input("r2 = ")) + input_ok = True + return r1, r2 + except ValueError as ex: + print("Eingabe ist keine Zahl") + + + + +def main(): + outer_radius, inner_radius = ask_pair_of_radii() + print(f"Außenradius = {outer_radius} Innenradius = {inner_radius}") + + +if __name__ == "__main__": + main() diff --git a/funktion-modular/dms_to_dd/dms_dd.py b/funktion-modular/dms_to_dd/dms_dd.py new file mode 100644 index 0000000..090ac2e --- /dev/null +++ b/funktion-modular/dms_to_dd/dms_dd.py @@ -0,0 +1,23 @@ +# Fingerübung im Skript +#dms = "+45:10:12.5" +# "-50:15:2.3" + +def to_dd(dms: str) -> float: + parts = dms.split(":") + deg = int(parts[0]) # Vorzeichen behalfted + minute = int(parts[1]) # 0 oder positiv + sec = float(parts[2]) + if dms[0] == '-' : + return deg - (minute/60) -(sec/3600) + else: + return deg + (minute/60) - (sec/3600) + +test_data = [ + "+45:10:12.5", + "-50:15:2.3", + "0:30:0", + "-0:45:6.5" +] + +degrees = [to_dd(d) for d in test_data] +print(degrees) diff --git a/funktion-modular/lern-taxonomie/README.md b/funktion-modular/lern-taxonomie/README.md new file mode 100644 index 0000000..c53b5fa --- /dev/null +++ b/funktion-modular/lern-taxonomie/README.md @@ -0,0 +1,15 @@ +# HOWTO + +## Run unittest + +* For all unittests in directory + +```shell +python -m unittest +``` + +* For some files + +```shell +python -m unittest -p 'test_<somefile>.py' +``` diff --git a/funktion-modular/lern-taxonomie/taxonomie.csv b/funktion-modular/lern-taxonomie/taxonomie.csv new file mode 100644 index 0000000..caf1c9e --- /dev/null +++ b/funktion-modular/lern-taxonomie/taxonomie.csv @@ -0,0 +1,314 @@ +abstimmen;1;Wissen +anführen;1;Wissen +angeben;1;Wissen +auflisten;1;Wissen +aufschreiben;1;Wissen +aufzählen;1;Wissen +aufzeichnen;1;Wissen +ausführen;1;Wissen +benennen;1;Wissen +berichten;1;Wissen +beschreiben;1;Wissen +betonen;1;Wissen +bezeichnen;1;Wissen +darstellen;1;Wissen +definieren;1;Wissen +entnehmen;1;Wissen +erkennen;1;Wissen +erstellen;1;Wissen +erzählen;1;Wissen +feststellen;1;Wissen +finden;1;Wissen +gliedern;1;Wissen +identifizieren;1;Wissen +Kenntnis;1;Wissen +Kenntnis haben von;1;Wissen +kennzeichnen;1;Wissen +messen;1;Wissen +präsentieren;1;Wissen +reproduzieren;1;Wissen +schildern;1;Wissen +schreiben;1;Wissen +sich erinnern;1;Wissen +skizzieren;1;Wissen +umreißen;1;Wissen +vervollständigen;1;Wissen +wiedergeben;1;Wissen +wiederholen;1;Wissen +zeichnen;1;Wissen +zeigen;1;Wissen +zitieren;1;Wissen +zuordnen;1;Wissen +abgrenzen;2;Verständnis +ableiten;2;Verständnis +anordnen;2;Verständnis +ausdrücken;2;Verständnis +auswählen;2;Verständnis +begründen;2;Verständnis +berichten;2;Verständnis +beschreiben;2;Verständnis +bestimmen;2;Verständnis +charakterisieren;2;Verständnis +darstellen;2;Verständnis +demonstrieren;2;Verständnis +deuten;2;Verständnis +diskutieren;2;Verständnis +durch ein Beispiel erläute;2;Verständnis +einordnen;2;Verständnis +einordnen erkennen;2;Verständnis +erklären;2;Verständnis +erläutern;2;Verständnis +extrapolieren;2;Verständnis +finden;2;Verständnis +folgern;2;Verständnis +formulieren;2;Verständnis +gegenüberstellen;2;Verständnis +generalisieren;2;Verständnis +hinweisen;2;Verständnis +identifizieren;2;Verständnis +illustrieren;2;Verständnis +interpretieren;2;Verständnis +klären;2;Verständnis +klassifizieren;2;Verständnis +lokalisieren;2;Verständnis +ordnen;2;Verständnis +präsentieren;2;Verständnis +präzisieren;2;Verständnis +repräsentieren;2;Verständnis +schätzen;2;Verständnis +schildern;2;Verständnis +schreiben;2;Verständnis +übersetzen;2;Verständnis +übertragen;2;Verständnis +umformen;2;Verständnis +umschreiben;2;Verständnis +unterscheiden;2;Verständnis +verallgemeinern;2;Verständnis +veranschaulichen;2;Verständnis +verdeutlichen,;2;Verständnis +vergleichen;2;Verständnis +voraussagen;2;Verständnis +vorführen;2;Verständnis +wiedergeben;2;Verständnis +wiederholen;2;Verständnis +zuordnen;2;Verständnis +zusammenfassen;2;Verständnis +abschätzen;3;Anwendung +ändern;3;Anwendung +anfertigen;3;Anwendung +anknüpfen;3;Anwendung +anwenden;3;Anwendung +aufstellen;3;Anwendung +ausführen;3;Anwendung +ausfüllen;3;Anwendung +auswählen;3;Anwendung +bearbeiten;3;Anwendung +bedienen;3;Anwendung +beeinflussen;3;Anwendung +begründen;3;Anwendung +Beispiele geben;3;Anwendung +benutzen;3;Anwendung +berechnen;3;Anwendung +berechnen beurteilen;3;Anwendung +bestimmen;3;Anwendung +beweisen;3;Anwendung +bewerten;3;Anwendung +darstellen;3;Anwendung +demonstrieren;3;Anwendung +durchführen;3;Anwendung +einordnen;3;Anwendung +eintragen;3;Anwendung +entdecken;3;Anwendung +entwerfen;3;Anwendung +entwickeln;3;Anwendung +erklären;3;Anwendung +errechnen;3;Anwendung +erstellen;3;Anwendung +fertigen;3;Anwendung +Fertigkeit;3;Anwendung +finden;3;Anwendung +formatieren;3;Anwendung +formulieren;3;Anwendung +herausfinden;3;Anwendung +illustrieren;3;Anwendung +interpretieren;3;Anwendung +Kompetenz;3;Anwendung +löschen;3;Anwendung +lösen;3;Anwendung +machen;3;Anwendung +modifizieren;3;Anwendung +nutzen;3;Anwendung +organisieren;3;Anwendung +planen;3;Anwendung +praktizieren;3;Anwendung +quantifizieren;3;Anwendung +realisieren;3;Anwendung +rechnen;3;Anwendung +sich beziehen auf;3;Anwendung +transferieren;3;Anwendung +übersetzen;3;Anwendung +umschreiben;3;Anwendung +umsetzen;3;Anwendung +unterscheiden;3;Anwendung +veranschaulichen;3;Anwendung +verdeutlichen;3;Anwendung +verifizieren;3;Anwendung +verwenden;3;Anwendung +voraussagen;3;Anwendung +vorbereiten;3;Anwendung +wählen;3;Anwendung +zeichnen;3;Anwendung +zeigen;3;Anwendung +zergliedern;3;Anwendung +ableiten;4;Analyse +analysieren;4;Analyse +auflösen;4;Analyse +aufschlüsseln;4;Analyse +aufteilen;4;Analyse +aufzeigen;4;Analyse +auswerten;4;Analyse +beschreiben;4;Analyse +bestimmen;4;Analyse +darlegen;4;Analyse +darstellen;4;Analyse +debattieren;4;Analyse +diagnostizieren;4;Analyse +einkreisen;4;Analyse +einteilen;4;Analyse +erhellen;4;Analyse +erkennen;4;Analyse +ermitteln;4;Analyse +experimentieren;4;Analyse +folgern;4;Analyse +gegenüberstellen;4;Analyse +gliedern;4;Analyse +hinterfragen;4;Analyse +identifizieren;4;Analyse +isolieren;4;Analyse +kategorisieren;4;Analyse +klassifizieren;4;Analyse +kontrastieren;4;Analyse +kritisieren;4;Analyse +lösen;4;Analyse +nachweisen;4;Analyse +prüfen;4;Analyse +rechtfertigen;4;Analyse +schließen;4;Analyse +schlussfolgern;4;Analyse +sich beziehen auf;4;Analyse +sortieren;4;Analyse +teilen;4;Analyse +testen;4;Analyse +trennen;4;Analyse +umreißen;4;Analyse +umwandeln;4;Analyse +unterscheiden;4;Analyse +untersuchen;4;Analyse +unterteilen;4;Analyse +urteilen;4;Analyse +vergleichen;4;Analyse +verlegen;4;Analyse +verwenden;4;Analyse +zuordnen;4;Analyse +ableiten;5;Evaluation +äussern;5;Evaluation +auswählen;5;Evaluation +auswerten;5;Evaluation +beschreiben;5;Evaluation +bestimmen;5;Evaluation +beurteilen;5;Evaluation +bewerten;5;Evaluation +differenzieren;5;Evaluation +einschätzen;5;Evaluation +einstufen;5;Evaluation +entdecken;5;Evaluation +entscheiden;5;Evaluation +entwerfen;5;Evaluation +entwickeln;5;Evaluation +erfinden;5;Evaluation +erschaffen;5;Evaluation +erzeugen;5;Evaluation +evaluieren;5;Evaluation +folgern;5;Evaluation +gegenüberstellen;5;Evaluation +gewichten;5;Evaluation +hinterfragen;5;Evaluation +interpretieren;5;Evaluation +konstruieren;5;Evaluation +kreieren;5;Evaluation +kritisieren;5;Evaluation +messen;5;Evaluation +präparieren;5;Evaluation +prüfen;5;Evaluation +qualifizieren;5;Evaluation +rechtfertigen;5;Evaluation +revalatieren;5;Evaluation +schließen;5;Evaluation +überzeugen;5;Evaluation +unterscheiden;5;Evaluation +urteilen;5;Evaluation +vereinfachen;5;Evaluation +vergleichen;5;Evaluation +verteidigen;5;Evaluation +vertreten;5;Evaluation +werten;5;Evaluation +widerlegen;5;Evaluation +zusammensetzen;5;Evaluation +abfassen;6;Synthese +ableiten;6;Synthese +ändern;6;Synthese +argumentieren;6;Synthese +arrangieren;6;Synthese +aufbauen;6;Synthese +aufstellen;6;Synthese +ausarbeiten;6;Synthese +begründen;6;Synthese +benoten;6;Synthese +bilden;6;Synthese +darstellen;6;Synthese +definieren;6;Synthese +entscheiden;6;Synthese +entwerfen;6;Synthese +entwickeln;6;Synthese +erklären;6;Synthese +erläutern;6;Synthese +erstellen;6;Synthese +erweitern;6;Synthese +erzählen;6;Synthese +erzeugen;6;Synthese +evaluieren;6;Synthese +formulieren;6;Synthese +generieren;6;Synthese +gestalten;6;Synthese +hervorbringen;6;Synthese +integrieren;6;Synthese +klassifizieren;6;Synthese +kombinieren;6;Synthese +konstruieren;6;Synthese +kritisieren;6;Synthese +lehren;6;Synthese +lösen;6;Synthese +managen;6;Synthese +modifizieren;6;Synthese +optimieren;6;Synthese +ordnen;6;Synthese +organisieren;6;Synthese +planen;6;Synthese +prüfen;6;Synthese +sammeln;6;Synthese +schätzen;6;Synthese +schreiben;6;Synthese +sich beziehen auf;6;Synthese +strukturieren;6;Synthese +synthetisieren;6;Synthese +überprüfen;6;Synthese +umformulieren;6;Synthese +verändern;6;Synthese +verbinden;6;Synthese +verfassen;6;Synthese +vorschlagen;6;Synthese +wählen;6;Synthese +werten;6;Synthese +zusammenfassen;6;Synthese +zusammensetzen;6;Synthese +zusammenstellen;6;Synthese diff --git a/funktion-modular/lern-taxonomie/test_converter.py b/funktion-modular/lern-taxonomie/test_converter.py new file mode 100644 index 0000000..7bf803d --- /dev/null +++ b/funktion-modular/lern-taxonomie/test_converter.py @@ -0,0 +1,30 @@ +import unittest +from converter import group_term, Taxonomy + + +class ConverterTestCase(unittest.TestCase): + def test_group_term(self): + terms = {} + line = "abstimmen;1;Wissen\n" + group_term(line, terms) + wissen_grp:set[str] = terms[(1,"Wissen")] + self.assertTrue( "abstimmen" in wissen_grp ) + self.assertEqual(len(wissen_grp), 1) + print(terms) + + def test_add_data(self): + key = (1, "Wissen") + value = "abstimmen" + terms = { + key : {value} + } + line = "anführen;1;Wissen\n" + group_term(line, terms) + wissen_grp:set[str] = terms[key] + self.assertTrue( "anführen" in wissen_grp ) + self.assertTrue( len(wissen_grp), 2 ) + + + +if __name__ == '__main__': + unittest.main() diff --git a/funktion-modular/study-effort/effort_semester.py b/funktion-modular/study-effort/effort_semester.py index 24bca67..ecc3570 100644 --- a/funktion-modular/study-effort/effort_semester.py +++ b/funktion-modular/study-effort/effort_semester.py @@ -43,7 +43,7 @@ with open(lecture_filename) as file: while line := file.readline(): line = line.strip() - if line[0] != '#': + if len(line) > 0 and line[0] != '#': line = parse_line(line) lectures.append( line ) return lectures @@ -65,7 +65,7 @@ def print_effort(effort: list[tuple[str, float, float, float]]) -> None: header = ("Vorlesung", "ECTS", "V;U;T/Woche", "Aufwand/Woche") max_char = len(header) - sep_width = 3 + sep_width = 0 sum_effort = 0 for l in effort: if (c := len(l[0])) > max_char: @@ -94,9 +94,7 @@ if __name__ == "__main__": lecture_filename = sys.argv[1] lectures = collect_lectures_from_file(lecture_filename) - print(lectures) effort = compute_semester_effort(lectures) - #print(effort) print_effort(effort) -- Gitblit v1.10.0-SNAPSHOT