Zašto vas developeri lažu o složenim finansijskim alatima
Godišnja pretplata za ‘premium’ aplikaciju za kućni budžet košta i do 8.000 dinara. To je novac koji bukvalno bacate u vatru. Zašto biste plaćali nekom klincu u Silicijumskoj dolini da vam sabere troškove za struju i hleb? Vi imate računar, tastaturu koja klikće pod vašim prstima i deset minuta vremena. Toliko je potrebno da skarabudžite sopstveni softver koji ne šalje vaše podatke nikoме i ne traži broj kreditne kartice svakog meseca. Ako ste već savladali kako da napišete prvi algoritam u Pythonu, ovo će vam biti lakše od zamene osigurača. Zaboravite na šarene grafikone koji ničemu ne služe. Treba vam surova matematika i kontrola nad svakim dinarom. Ovaj vodič vam daje upravo to.
Oprema: Dva minuta instalacije i tastatura koja ne preskače
Ne trebaju vam serverske farme. Potreban vam je Python instaliran na vašem sistemu. Osetite miris sveže kafe dok čekate da se terminal otvori. Ako vaš računar muči dok pokreće običan tekstualni editor, vreme je za čišćenje, ali za ovaj kod će raditi i najstarija kanta iz garaže. Važno je da instalirate Python verziju 3.10 ili noviju. Zašto? Zato što nećemo da se rvemo sa starim sintaksama koje pucaju pri prvom unosu decimalnog broja. Koristite običan Notepad ili VS Code ako hoćete da se osećate kao haker. Glavno je da fajl sačuvate sa ekstenzijom .py. Bez toga, sve što kucate je samo gomila beskorisnih karaktera na ekranu.
WARNING: Nikada ne pokrećite kod koji ste preuzeli sa sumnjivih foruma bez čitanja svake linije. U svetu programiranja, jedna pogrešna komanda može da vam obriše celu particiju diska. Ovaj kod je bezbedan jer ne pipa vaše fajlove, samo vašu logiku trošenja.
Kod: 10 linija koje štede hiljade evra
Evo surove istine zapakovane u deset redova koda. Nemojte samo da kopirate. Čitajte šta svaka linija radi dok vam ekran sija u mraku sobe. Prvo definišemo budžet, a zatim u petlji čupamo podatke o troškovima dok ne kažemo ‘dosta’.
budzet = float(input('Koliko para imaš u džepu? '))
trosak = 0
while True:
unos = input('Šta si kupio? (ili kucaj kraj): ')
if unos.lower() == 'kraj': break
iznos = float(input(f'Koliko si platio {unos}? '))
trosak += iznos
print(f'Ostalo ti je još: {budzet - trosak}')
print(f'Ukupno sprženo: {trosak}')
print('Ugasi kompjuter i štedi!')
Ovaj kod je grub. Nema animacija. Nema oblaka. Samo vi i vaša finansijska realnost. Kada pokrenete ovo, terminal će vas pitati za početnu cifru. Svaki put kada unesete trošak, on će vam pljunuti u lice koliko vam je ostalo. To je digitalni šamar koji vam treba da ne biste kupili tu treću glupost na akciji.
Zašto ne koristim Excel?
Excel je trom. Excel je za ljude koji vole tabele. Program u Pythonu je za ljude koji vole procese. Ovaj program možete da nadogradite da vam šalje poruku na telefon ili da automatski beleži podatke u bazu. Ako vas zanima kako da prikupite više podataka od ukućana, pogledajte kako da napravite anketu za 2 minuta. Možete te podatke kasnije upumpati direktno u ovaj program.
Anatomija jednog ‘Screw-Up-a’: Zašto će vam program pući
Ako ste mislili da će sve raditi iz prve, niste proveli dovoljno vremena u radionici. Najveća greška koju ćete napraviti je kucanje slova tamo gde program očekuje brojeve. Ako na pitanje ‘Koliko si platio?’ odgovorite sa ‘puno’, Python će vrisnuti. Izbaciće ‘ValueError’ i ugasiti se. To je trenutak kada većina odustane. Nemojte. To je samo signal da niste predvideli ljudsku glupost (uključujući i svoju). Da biste to popravili, treba vam ‘try-except’ blok, ali to bi nas izbacilo iz ograničenja od 10 linija. Za sada, budite precizni. Kucajte brojeve. Čupajte greške jednu po jednu.
Zašto ovo radi: Fizika plutajućeg zareza
Jednom u životu morate razumeti zašto računari greše u matematici. Python koristi ‘float’ za brojeve sa decimalama. U pozadini, računar pokušava da pretvori vaših 10.5 dinara u binarni sistem. Nekada se desi da 0.1 + 0.2 u svetu procesora ne bude tačno 0.3, već 0.30000000000000004. To se zove greška plutajućeg zareza. Za kućni budžet, to je nebitno. Ali ako pravite digitalnu štopericu pomoću Arduino koda, te mikrosekunde mogu da naprave haos. Ovde nas to ne brine. Nas brine gde je nestalo 500 dinara za kafu.
Budućnost vašeg alata
Ovo je samo kostur. Možete dodati liniju koja čuva podatke u .txt fajl tako da ih imate i sutra. Možete dodati uslov da vam program psuje ako pređete nulu. DIY softver raste sa vašim potrebama. Ne dozvolite da vas ubede da je programiranje rezervisano za genije. To je zanat, kao i svaki drugi. Kao što znate da popravite škripava vrata, tako možete i da popravite svoje finansije pomoću par redova koda. Isključite notifikacije. Fokusirajte se na logiku. Štedite.
