Vylepšení hodnotítka fix #1354 fix #1237 #20

Merged
zelvuska merged 25 commits from vylepseni_odevzdavatka into master 2023-06-12 22:17:08 +02:00
Showing only changes of commit db16df391b - Show all commits

View file

@ -171,15 +171,15 @@ class Hodnoceni(bm.SeminarModelBase):
@property @property
def body_max(self): def body_max(self):
if not isinstance(self.problem, am.Uloha): if self.body_neprepocitane_max is None:
return None return None
return self.problem.uloha.max_body return self.vzorecek_na_prepocet(self.body_neprepocitane_max, self.reseni.resitele.count())
@property @property
def body_neprepocitane_max(self): def body_neprepocitane_max(self):
if self.body_max is None: if not isinstance(self.problem, am.Uloha):
return None return None
zelvuska marked this conversation as resolved Outdated

IMHO spíš počet bodů za úlohu je počet nepřepočítaných bodů, i.e. když řešíš úlohu za b bodů ve dvojici, tak plný počet označuje stav, kdy řešení dostane b bodů a tedy každý řešitel jen 0.75b.

IMHO spíš počet bodů za úlohu je počet nepřepočítaných bodů, i.e. když řešíš úlohu za $b$ bodů ve dvojici, tak plný počet označuje stav, kdy řešení dostane $b$ bodů a tedy každý řešitel jen $0.75b$.

No, tak b bodů jsou nepřepočítané body, to je ten stav, který chceš většinou řešit.

A body ve výsledkovce (tedy body bez přívlastku) jsou už ty přepočítané pomocí našeho kouzelného vzorce z webu…

No, tak $b$ bodů jsou nepřepočítané body, to je ten stav, který chceš většinou řešit. A body ve výsledkovce (tedy body bez přívlastku) jsou už ty přepočítané pomocí našeho kouzelného vzorce z webu…

No, ale tvoje self.body_max vrací b, i když má vracet 3b/(n+2), protože b má vracet self.body_neprepocitane_max, ne?

No, ale tvoje `self.body_max` vrací $b$, i když má vracet $3b/(n+2)$, protože $b$ má vracet `self.body_neprepocitane_max`, ne?

Mám to opačně, co?

Mám to opačně, co?

A hlavně to aktuálně z nějakého důvodu nefunguje :'(

A hlavně to aktuálně z nějakého důvodu nefunguje :'(

Áno, opačně

(Edit: fix race condition :-P)

Áno, opačně (Edit: fix race condition :-P)
return self.inverze_vzorecku_na_prepocet(self.body_max, self.reseni.resitele.count()) return self.problem.uloha.max_body
def __str__(self): def __str__(self):
return "{}, {}, {}".format(self.problem, self.reseni, self.body) return "{}, {}, {}".format(self.problem, self.reseni, self.body)