Files
sss/student_system_final/dao/__pycache__/statistic_dao.cpython-310.pyc
T

43 lines
4.6 KiB
Plaintext
Raw Normal View History

2026-09-21 22:13:04 +08:00
o
tˆ§jã@sbddlmZddlmZmZmZddlmZddlm Z ddl
m Z ddl m
Z
Gdd„dƒZd S)
é)ÚOptional)Úand_ÚfuncÚdesc)ÚClass)ÚStudent)ÚScore)ÚWorkc@sjeZdZdd„Zdedeedefdd„Zdd „Zd
d „Zd efd
d„Z defdd„Z
dd„Z dd„Z dS)Ú StatisticcCs
||_dS)N)Údb)Úselfr ©r
õJD:\0821python\学生管ç�†ç³»ç»Ÿ\student_system_final\dao\statistic_dao.pyÚ__init__ s
zStatistic.__init__Úage1Úage2Ú conditioncCs¤|j t¡}|s:|dkr| tj|k¡ ¡}|S|dkr(| tj|k¡ ¡}|S|dkr8| tj|k¡ ¡}|SdS|dkrP| ttj|ktj|kƒ¡ ¡}|SdS)Néééu输入错误,é‡�新输入é)r ÚqueryrÚfilterÚageÚallr)r rrrÚstuÚqr
r
rÚget_agess ò
õ
ù ÿzStatistic.get_agesc
Cs°|j tj¡ ¡ ¡}g}|D]F}|j}|j t¡ tj|k¡ ¡}t|ƒ}|dkr+qdd„|Dƒ}t|ƒ}dd„|Dƒ} t| ƒ}
||} |
|} | |||| |
| dœ¡q|S)NrcSóg|] }|jdkr|‘qS)uç”·©Úgender©Ú.0Úsr
r
rÚ
<listcomp>1óz'Statistic.get_class.<locals>.<listcomp>cSr)u女rr!r
r
rr$4r%)Úclass_idÚtotalZ
male_countZ male_rateZ female_countZ female_rate) r rrÚcidÚdistinctrrÚlenÚappend)
r Zcid_listÚresultÚrowr(Zall_stur'Zman_listZ man_countZ
woman_listZ woman_countZman_rateZ
woman_rater
r
rÚ get_class%s.
úzStatistic.get_classcCsF|j t¡ tj|k¡ ¡ ¡}g}|D] }| |j|jdœ¡q|S)N)ÚsidÚscore) r rrrr0r)rr+r/)r Úgradesrr,Ústr
r
rÚ
get_gradesDs 
þzStatistic.get_gradesÚnumberc
Cs|j tjt tj¡ d¡¡ tjdk¡  tj¡ 
t tj¡|k¡  ¡}|j t j
t jtjtj¡ |t j|jjk¡ tt jtjk¡ tjdk¡ ¡}i}|D]-\}}}}||f} | |vre||gddœ|| <|| d ||dœ¡|| dd7<qNt| ¡ƒS)NÚ bad_counté<r)Únamer(Ú
bad_detailr5r8)Úexam_numr0r)r rrr/rÚcountr0ÚlabelrÚgroup_byÚhavingÚsubqueryrr7r(r9ÚjoinÚcrr+ÚlistÚvalues)
r r4Zsub_qZbad_listr,r7r(r0r9Úkeyr
r