Zdravím všetkých, konečne som sa dostal po dlhšom čase k pythonu. Som si vymyslel kalkulačku na zámenu mien jednotlivých štátov. Hned od začiatku sa držim predošlých rád od Geona, ohľadne používania funkcií. Skratka aby kod nebol v jednom súbore, ale hlavný program len volal jednotlivé funkcie importnutých modulov. Takže mám hlavný program, v ňom importované moduly a volajú sa jednotlivé funkcie. Program by mal fungovať nejak takto:
1. Stiahnutie kurzového lístka zo stránok www.nbs.sk vo formáte xml. XML som zvolil z dôvodu, že je to tam pekne otagované a už dávnejšie mi bolo vysvetlené, že je to skrátka veľká výhoda oproti txt či iným formátom.
2. Zmena kódovania z cp1250 na utf-8. Nie som si istý, či to je nutné, ale som si niečo o tom prečital a vychádza mi z toho, že je to najlepšia varianta používaného kódovania a mne sa to pod linuxom pekne zobrazuje, nemusím nič nastavovať. U priateľky na stroji ale už nie, použiva win, tak možno preto.
3. Tu by sa malo vytiahnuť jednotlivé štáty, ktoré sú v ponuke. Prichádza euro a mien bude menej a napevno zadávať štáty nie je vobec ideálne.
4. Vstup užívateľa, zadá si akú menu chce zameniť a v akej výške
5. Výstup
Kod by mohol vyzerať takto: /samozrejme, tak nebude, ale len ako príklad/
def useraction():
global vstup
vstup=raw_input("Zadaj menu alebo nazov krajiny: ")
if vstup==štát_z_ponuky:
mnozstvo=raw_input("Kolko chces zamenit")
vysledok=(int(kurz))*(int(mnozstvo))
print "Po zamene dostanete: ", vysledok
else:
print "V ponuke sa nenachadza dany stat. "
Všetky funkcie vykoná, teda stiahne súbor, zmení kódovanie, vytiahnutie dát ešte nie je. Ale pri tomto mi vypíše hlášku:
NameError: Global name "vstup is not defined"
Tak som pridal pred vypýtaním si hodnoty pre vstup riadok:
global vstup
Teda aspoň tak som to čítal na nejakej stránke. No nijako to moj problém nevyriešilo. Viem, prečo treba nejakým spôsobom definovať, ktoré premenné zachovať a ktoré možu s vykonaním funkcie zaniknúť, ale toto neviem žial.
A ešte taká malá otázočka. Rozmýšlal som, ako vytiahnuť dáta z toho súboru tak, aby si zachovali zavislosti a zaroveň boli použiteľné v programe. Najskôr budem musieť nájsť modul, ktorý pracuje s xml alebo si nieco také spraviť. Keby sa toto podarilo, tak by som skúsil nejak automaticky generovať polia pre každý jednotlivý štát. Obsahom pola by bol znak meny a aktuálny kurz. Nejaký modul s prácou s xml alebo použiteľný modul na toto? Celkom zaujímavo vyzerá použitie slovníkov, ale to sa ešte uvidi, či to bude možne.
Takže by som bol rád, keby mi niekto poradil s problémom a prípadne nejakú pripomienku k tej malej otázočke :D Ďakujem za čas :)