Banane
Banane predstavljajo eno od osnovnih dobrin sodobne družbe. Brez banan si praktično ne moremo več prestavljati moderne ekonomije, umetnosti in izobraževalnega procesa, pomembne pa so tudi v prehrani.
Zato se ne gre čuditi, da so banane tudi eden izmed najpomembnejših izvoznih, predvsem pa uvoznih artiklov. V priloženi datoteki zip so zato podatki Svetovne banke in UNCTADa o uvozu banan, spremenjeni v obliko .csv. Z datoteko ravnajte spoštljivo. Delite jo s prijatelji in znanci, ki bi jih utegnila zanimati ta pomembna tematika.
Odzipajte datoteko. V njej se nahaja datoteka testi.py, podatki pa so v poddirektoriju podatki
. Podatke pustite tam, kjer so, program pa pišite v datoteko testi.py, ki je prav tako ne premikajte nikamor. Datotek ne preimenujte! Ko oddajate nalogo, oddajte samo testi.py.
V nekaterih nalogah je potrebno vrniti najcenejše, najdražje ali kaj podobnega, ali pa prvih n
držav glede na nek kriterij. Ne ukvarjajte se s tem, da si morda več držav deli isto mesto, saj so številke dovolj raznolike, da se to najbrž ne zgodi.
Za določeno oceno je potrebno pravilno rešiti tudi vse naloge za nižje ocene.
Ocena 6
Napišite funkcijo
preberi_tezo(leto)
, ki prebere podatke za podanoleto
in vrne slovar, katerega ključi so imena držav (Reporter), vrednosti pa so teže uvoženih banan, kot jih preberete iz stolpca Quantity.Med državami je tudi "European Union". To "državo" preskočite. Prav tako preskočite vrstice, v katerih podatek manjka ("Quantity" je prazen).
Poleg tega napišite funkcijo
preberi_vrednost(leto)
, ki vrne podoben slovar, le da so vrednosti vrendnost uvoženih banan v dolarjih (**številko iz tabele pomnožite s 1000). Tudi tu odstrani evropsko unijo.Napišite funkcijo
najcenejse_banane(leto)
, ki poišče državo, ki je v podanem letuleto
uvažala banane za najnižjo ceno (na kilogram) in vrne par (terko) z imenom te države in ceno, ki jo je plačala (v dolarjih na kilogram).Napišite funkcijo
najblizje_sloveniji(leto)
, ki vrne ime države, ki je bila glede na skupno težo uvoženih banan v podanem letu najbližje Sloveniji. Če za Slovenijo v tistem letu ni podatkov, funkcija vrneNone
.Ne spreglejte, da gre lahko za državo, ki je uvozila malo manj ali malo več banan kot Slovenija.
Napišite funkcijo
razpon_cen(leto)
, ki vrne par (terko) z najnižjo in najvišjo ceno banan v podanem letu (v dolarjih na kilogram).
Ocena 7
Napišite funkcijo
naj_uvoznice(leto, n)
, ki vrne prvihn
držav po teži uvoza banan v podanem letu. Seznam naj bo urejen padajoče po teži.Napišite funkcijo
izpis(drzave, leto)
, ki prejme seznam držav in leto. Funkcija mora vrniti niz (ne izpisati!) takšne oblike:Slovenia 98 0.79 China 1768 0.61 Germany 1367 0.85 Netherlands 1072 0.85 Japan 1033 0.93
Prvi stolpec je ime države, drugi teža uvoženih banan v gigagramih (kilotonah, 1000 tonah), tretji je cena v dolarjih na kilogram.
Pazi na poravnave in presledke: ti so postavljeni pravilno, če funkcija prestane teste.
Napišite funkcijo
prvih_n(leto, n)
, ki izpiše tabelo, kot je gornja, zan
držav, ki so v podanem letu uvozile največ banan. Seznam naj bo urejen padajoče po teži.
Ocena 8
Napišite funkcijo
trend(drzava, od, do)
, ki vrne seznam s količino banan, ki jih je država uvozila v letih medod
indo
(vključno zdo
). Če za kako leto ni podatka, naj bo za tisto leto v seznamuNone
.Napišite funkcijo
skupni_uvoz(leto)
, ki za podano leto vrne skupno težo vseh uvoženih banan v vseh državah.Napišite funkcijo
rast_porabe(od, do)
, ki vrne seznam s skupnim uvozom banan po vsem svetu med podanima letoma.Napišite funkcijo
inflacija(od, do))
, ki vrne seznam s povprečno ceno banan v dolarjih na kilogram med podanima letoma. Povprečna cena je enaka skupni vrednosti uvoza (vsota prek vseh držav) deljena s skupno težo uvoženih banan.
Ocena 9
Napišite funkcijo tabela(od, do, drzave, ime_dat)
, ki v datoteko z imenom ime_dat
izpiše podatke o uvozu banan v tonah za podane države v podanem intervalu let. Oblika tabela mora biti do presledka kot v spodnjem primeru in v podanih datotekah test1.txt
, test2.txt
in test3.txt
. (Te datoteke se uporabljajo v testih, zato jih ne spreminjaj!!!)
Klic
tabela(1992, 2000,
["Slovenia", "Germany", "Japan", "United States"],
"tabela.txt")
v tabela.txt shrani tole:
Leto Slovenia Germany Japan United Sta
------------------------------------------------------
1992 1378870 777477 3693120
1993 1222890 913612 3676980
1994 25227 1175620 929799 3862050
1995 31298 1306440 874108 3836570
1996 29645 1244570 819086 3966400
1997 30287 1133170 885454 3957720
1998 25391 1033120 865310 4113060
1999 28693 1034380 983504 4512440
2000 26674 1113840 1079060 2268700
------------------------------------------------------
Ime države je skrajšano na prvih deset znakov.
Funkcija mora delovati za poljubno veliko število držav!
Ocena 10
Napišite funkcijo tabela_drzav(od, do, drzave, ime_dat)
, ki prav tako zapiše podatke v datoteko, vendar drugačni obliki:
Država 1992 1993 1994 1995 1996 1997 1998 1999 2000
---------------------------------------------------------------------------------------------------------
Slovenia 25227 31298 29645 30287 25391 28693 26674
Germany 1378870 1222890 1175620 1306440 1244570 1133170 1033120 1034380 1113840
Japan 777477 913612 929799 874108 819086 885454 865310 983504 1079060
United States 3693120 3676980 3862050 3836570 3966400 3957720 4113060 4512440 2268700
---------------------------------------------------------------------------------------------------------
Podatki, testne datoteke in testi
- 20. november 2024, 17:16