Hong-Phuc Bui
2024-06-19 1cce8fe30a73f538ed63e88d7c09e18456d333b9
study-effort/src/mystudy/lecture.py
@@ -4,19 +4,48 @@
ects_effort: Final[int] = 30
def lecture_effort(lecture_pre_week, ects):
    """
    :param lecture_pre_week: wie viel Veranstaltungen hat eine Vorlesung in der Woche
    :param ects: Anzahl der ECTS der Vorlesung
    :return:
    """
    effort_in_time = ects * ects_effort
    effort_per_week = effort_in_time / lecture_time # how many hours for a week
    return effort_per_week - (lecture_pre_week * 1.5)
class Lecture():
    def __init__(self, name, ects, frequency):
        """
        :param name:
        :param ects:
        :param frequency:
        """
        self._name = name
        self._ects = ects
        self._frequency = frequency
    def cal_effort(self, time_per_ects = ects_effort, duration = lecture_time) -> float:
        """
        Berechnet den Zeitaufwand pro woche für diese Vorlesung
        :param time_per_ects:
        :param duration:
        :return:
        """
        effort_in_time = self._ects * time_per_ects
        effort_per_week = effort_in_time / duration
        return effort_per_week - (self._frequency * 1.5)
    def __repr__(self):
        return f"Vorlesungsname {self._name} ECTS: {self._ects}"
    # def __str__(self):
    #    return self.__repr__()
def format_lecture_effort(name, lecture_count, ects, effort):
    return f"Für die Vorlesung {name} mit {ects} ECTS und {lecture_count} Veranstaltung pro Woche brauchen Sie {effort} Stunden zu lernen."
def parse_lecture_line(line: str) -> Lecture:
    words = line.split(";")
    words = [w.strip() for w in words]
    name = words[0]
    count = float(words[1])
    ects = int(words[2])
    return Lecture(name, ects, count)
    pass