dms
Hong-Phuc Bui
2024-05-27 e4903fc07dfe8d8e5b2a8a25964eb07a8cf9674d
dms
3 files modified
5 files added
413 ■■■■■ changed files
funktion-modular/calendar/HOWTO.md 2 ●●● patch | view | raw | blame | history
funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc patch | view | raw | blame | history
funktion-modular/callstack-example/trace_error.py 23 ●●●●● patch | view | raw | blame | history
funktion-modular/dms_to_dd/dms_dd.py 23 ●●●●● patch | view | raw | blame | history
funktion-modular/lern-taxonomie/README.md 15 ●●●●● patch | view | raw | blame | history
funktion-modular/lern-taxonomie/taxonomie.csv 314 ●●●●● patch | view | raw | blame | history
funktion-modular/lern-taxonomie/test_converter.py 30 ●●●●● patch | view | raw | blame | history
funktion-modular/study-effort/effort_semester.py 6 ●●●●● patch | view | raw | blame | history
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'
```
funktion-modular/calendar/__pycache__/month_of_year.cpython-312.pyc
Binary files differ
funktion-modular/callstack-example/trace_error.py
New file
@@ -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()
funktion-modular/dms_to_dd/dms_dd.py
New file
@@ -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)
funktion-modular/lern-taxonomie/README.md
New file
@@ -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'
```
funktion-modular/lern-taxonomie/taxonomie.csv
New file
@@ -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
funktion-modular/lern-taxonomie/test_converter.py
New file
@@ -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()
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)