Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m320_2024:learningunits:lu09:aufgaben:schulverwaltung [2024/09/17 09:17] msutermodul:m320_2024:learningunits:lu09:aufgaben:schulverwaltung [2024/09/26 10:04] (aktuell) msuter
Zeile 1: Zeile 1:
 ====== LU09.A01 - Schulverwaltung ====== ====== LU09.A01 - Schulverwaltung ======
 +<nodisp>TODO: ''show_report'' in ''Student'' entfernen. Die Methode macht das gleiche wie das ''property''</nodisp>
 <WRAP center round todo 60%> <WRAP center round todo 60%>
  
Zeile 23: Zeile 23:
 Dabei nutzen Sie Ihr Wissen zu ein- und zweiseitiger Beziehung sowie den 4 gezeigten Fällen der Referenzzuweisung. Ebenso verwenden Sie Mehrfachbeziehungen. Dabei nutzen Sie Ihr Wissen zu ein- und zweiseitiger Beziehung sowie den 4 gezeigten Fällen der Referenzzuweisung. Ebenso verwenden Sie Mehrfachbeziehungen.
  
-{{https://ritholtz.com/wp-content/uploads/2020/03/dontpanic.jpg?400}}+{{https://ritholtz.com/wp-content/uploads/2020/03/dontpanic.jpg?300|}}
  
 ===== Vorgehen ===== ===== Vorgehen =====
Zeile 49: Zeile 49:
   * Beim Versuch mehr als 20 Studenten einzufügen, soll die Methode einen ''OverflowError'' werfen.   * Beim Versuch mehr als 20 Studenten einzufügen, soll die Methode einen ''OverflowError'' werfen.
  
-=== count_student ===+=== count_students ===
   * Gibt die Anzahl Studenten zurück.   * Gibt die Anzahl Studenten zurück.
  
Zeile 82: Zeile 82:
 === Konstruktor === === Konstruktor ===
   * Beachten Sie die Parameter und Defaultwerte.   * Beachten Sie die Parameter und Defaultwerte.
 +=== show_report === 
 +Gibt die Referenz auf das ''report''-Objekt aus dem Attribut zurück.
  
 ==== StudentReport ==== ==== StudentReport ====
Zeile 137: Zeile 138:
   * Bei einem ungültigen Index soll ein ''IndexError'' ausgelöst werden.   * Bei einem ungültigen Index soll ein ''IndexError'' ausgelöst werden.
  
-=== calc_average ===+=== count_grades === 
 +  * Gibt die Anzahl Noten (''Grade'') zurück. 
 + 
 +=== average ===
   * Die Methode berechnet den Notendurchschnitt aus allen ''Grade''-Objekten in der Liste.   * Die Methode berechnet den Notendurchschnitt aus allen ''Grade''-Objekten in der Liste.
   * Falls keine ''Grade''-Objekte in der Liste vorhanden sind, wird der Wert ''0.00'' zurück gegeben.   * Falls keine ''Grade''-Objekte in der Liste vorhanden sind, wird der Wert ''0.00'' zurück gegeben.
Zeile 150: Zeile 154:
 === Konstruktor === === Konstruktor ===
   * Initialisieren Sie die Werte ''value'' und ''date'' gemäss Klassendiagramm.   * Initialisieren Sie die Werte ''value'' und ''date'' gemäss Klassendiagramm.
-  * Achten Sie auf die Zusicherung für den Wert von ''value''. Diese nehmen Sie im ''__post_init__'' vor.+  * Achten Sie auf die Zusicherung für den Wert von ''value''. Diese nehmen Sie im ''__post_init__'' vor. \\ Falls der Wert ungültig ist (keine Zahl, zu gross, zu klein) lösen Sie einen ''ValueError'' aus.
  
 === date.setter === === date.setter ===
Zeile 175: Zeile 179:
  
 ---- ----
-None+Zeugnis für: Moritz 
 +   Mathe     :  4.25 
 +   Deutsch   :  5.00 
 +   Turnen    :  5.00
 ---- ----
 Zeugnis für: Pia Zeugnis für: Pia
Zeile 187: Zeile 194:
    Turnen    :  5.50    Turnen    :  5.50
 ---- ----
-None+Student Theo nicht gefunden
 Fach: Mathe      mit 2 Noten Fach: Mathe      mit 2 Noten
  - 1: 5.00 am 01.01.2011  - 1: 5.00 am 01.01.2011
  • modul/m320_2024/learningunits/lu09/aufgaben/schulverwaltung.1726557470.txt.gz
  • Zuletzt geändert: 2024/09/17 09:17
  • von msuter