Informatika2-2018/HF6
A MathWikiből
Tartalomjegyzék |
6. Házi
Program
Egy programot kell írni ami
- beolvas egy .csv fájlt
- kiszedi belőle a NEPTUN, ZH és potZH mezők adatait
- érdemes a csv.DictReader osztályt használni, mert nem feltétlenül ugyanolyan sorrendben lesznek az oszlopok
- kiírja azon hallgatókat akik írtak egyáltalán pótZH-t
- figyeljünk arra, hogy aki nem írta meg valamelyik ZH-t annak üres az a mezője.
- ezen hallgatókhoz kiszámítja a pótZH relatív teljesítmény-növekedését az eredeti ZH-hoz képest.
- ez a (pótZH-ZH)/ZH képlettel számolható
- Ha az eredeti ZH 0 pontos vagy nem írt, akkor végtelen a teljesítménynövekedés: float("inf")
- kivéve ha a pótZH is 0, mert akkor mindenképp 0, akármi is volt a sima ZH
- Írja ki a program az említett adatokat egy másik fájlba, .csv formátumban, két oszlopban: NEPTUN és JAVUL mezőkkel, a NEPTUN kód szerint sorba rendezve.
Argumentumok
A program használja az argparse modult a bemeneti és kimeneti fájl nevének meghatározására. Az argumentumok legyenek:
- -f vagy --file a bemeneti fájl
- -o vagy --output a kimeneti fájl, default értéke "output.csv"
- Legyen help menüje, ezt elvileg automatikusan megcsinálja az argparse modul. Például
> python T0_HF6_borbely.py --help usage: T0_HF6_borbely.py [-h] [-f FILE] [-o OUTPUT] optional arguments: -h, --help show this help message and exit -f FILE, --file FILE input file (default: E0.csv) -o OUTPUT, --output OUTPUT output file (default: output.csv)
Segítség
Érdemes megnézni az ea_anyag/Info2/ mappában található extract_points_from_cc.py fájlt.
Példa
Például erre a fájlra:
ZH,potZH,NEV,NEPTUN 0,,Júdea Népe Front,GM6MRT 17,,Munka István,NC3J0K ,0,Brian,RQQCFE 19,9,Poncius Pilátus,BQ6IAJ 1,,N. Jézus,QDMXVF 18,,Kapuk Vilmos,D1CXLO 0,,"Lovagok, aki azt mondják NI",CZN5JA ,1,"Robin, a bátor",BWQ5AU 17,19,"Gelehed, a szűzi",BY9B8G
Ezt kell kiadnia:
NEPTUN,JAVUL BQ6IAJ,-0.5263157894736842 BWQ5AU,inf BY9B8G,0.11764705882352941 RQQCFE,0
Beadás
Határidő: 2018-04-22 23:59
A teljes feladat 5 pontos, de lehet részpontot kapni. Ha nem megy valami akkor érdemes egyszerűsíteni a feladaton, hogy részpontra még legyen esély. De ha nem is fut le a program, akkor 0 pont.
A programot egyetlen python (.py) fájlmellékletként kell elküldeni a math-os címetekről a tavalyi címre:
- info1hazi KUKAC gmail PONT com
- a fájl neve a <tankör>_HF<a feladat száma>_<felhasználói név>.py formátumot kövesse. Például nekem ez lenne: T0_HF5_borbely.py