<div dir="ltr"><br>2008/9/7 Lucian Adrian Grijincu <span dir="ltr"><<a href="mailto:lucian.grijincu@gmail.com">lucian.grijincu@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
penalty.py pare bun pentru SO/PSO.<br>
pentru PT nu e bun al doilea. La PT (dacă nu se schimbă nimic până la<br>
începutul semestrului) nu se vor scădea x puncte, ci, după ce se pune<br>
nota pe temă, va fi înmulțită cu (1-x/10). În plus, întârzierea nu se<br>
va face de la "deadline-ul" oficial până la "data uploadului". Va fi<br>
un deadline intermediar ... anyways, e mai complicat. trebuie să mă<br>
gândesc la o soluție.<br>
Oricum e bun pentru alte materii care vor așa ceva.</blockquote><div><br>Nu eram nici macar pe aproape... :) <br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
comentarii<br>
a) 84600 -> 24 * 3600 ... să fie mai evident pentru cine s-o apuca să<br>
modifice scripturile astea<br>
b) comentariile din penalty_weighted.py pentru variabila "penalty"<br>
sunt false (copy-pasta)<br>
# Pentru fiecare zi intarziere se scade valoarea penalty<br>
penalty = 0.25<br>
# Ponderea penalizarii pe zile<br>
wheights = (1, 2, 4, 8, 0)<br>
c) mă gândeam că ai putea să le unești:<br>
la SO/PSO weights = (1) și limit = 3<br>
la alte materii wheights = (1, 2, 4, 8, 0) și limit = 10<br>
d) n-ar trebui să dai printf() la rezultat? văd că argumentele sunt<br>
luate din linia de comanda. Presupun că nu penalty.py va fi chemat<br>
dintr-un script de undeva. E cam ciudat să-și ia rezultatele din $?<br>
(variabila de return a scriptului).</blockquote><div><br>Done. <br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
e) separă în trei bucăți (ca să poți chema funcțiile astea din alte<br>
scripturi python dacă va fi nevoie și ca să mărești lizibilitatea<br>
codului).<br>
<br>
main()<br>
-- ia un argv[] și apelează compute_new_grade_str<br>
-- printează la stdout rezultatul<br>
<br>
compute_new_grade_str(string_data_upload, string_data_deadline)<br>
-- parsează stringurile și cheamă compute_new_grade_time_t<br>
<br>
compute_new_grade_time_t(time_t__data_upload, time_t__data_deadline)<br>
-- primește obiecte de tip timp, calculează și returnează noua notă.<br>
<br>
(desigur, folosește niște nume mai puțin brain-dead față de astea pe<br>
care le-am trântit eu aici).<br>
<font color="#888888"><br></font></blockquote></div><div class="gmail_quote"><div><br>Am modificat si asta. Am acum 3 functii<br><br>main()<br> -- primeste argv[] <br>
-- apeleaza parse_time si compute grade<br>
-- afiseaza noua nota<br>
<br>
parse_time(upload_time_str, deadline_str) <br>
-- primeste cele doua date in forma de stringuri<br>
-- intoarce un tuplu cu obecte de tip time corespunzatoare<br>
<br>
compute_grade(grade, upload_time, deadline) <br>
-- primeste nota initiala si cei doi param de tip time<br>
-- calculeaza nota finala tinand cont de pondere si limita de punctaj scazuta<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<font color="#888888"><br>
--<br>
Lucian<br>
</font></blockquote></div><br clear="all"><br>-- <br>Ana<br></div>