Tämä ohjelma laskee arvonlisäveron määrän, kun tiedetään verokanta sekä veroton tai verollinen hinta.Verokanta valitaan valintanappuloista ja hinta syötetään tekstikenttään. Esimerkiksi jos verokanta on 14% ja hinta on verollinen lasketaan alv:n määrä kaavalla a*0.14/1.14.
Verokannat ovat 10, 14 ja 24 prosenttia. 24% on yleinen verokanta ja muut alennettuja verokantoja. Esimerkiksi elintarvikkeet kuuluvat alennettuun verokantaan. Verollinen ja veroton hinta on laitettu eri näppäimiin. Laskeminen suoritettaan erillisessä metodissa.
Seuraavaksi keskityn tietorakenteisiin ja olen vähän aikaa lähettämättä koodeja.
from tkinter import * #Tämä ohjelma laskee arvonlisäveron määrän. #Syötteenä käytetään joko verollista tai verotonta hintaa. #Ohjelmassa on kolme eri arvolisäveroprosenttia. root = Tk() def Laske(kanta,kerroin,rahaSumma): #Lasketaan arvolisäveron määrä, kun tiedetään verokanta prosentti = 0.0 if (kanta == 1): prosentti = 24.0 elif (kanta == 2): prosentti = 14.0 elif (kanta == 3): prosentti = 10.0 t = rahaSumma*(prosentti/100.0) if (kerroin == 2): t /= (prosentti/100.0)+1.0 return t def Veroton(): #Lasketaan alv:n määrä lähtötiedon ollessa veroton hinta. rahaSumma = float(e1.get()) t = Laske(verokanta.get(),1,rahaSumma) tulos.set("Tulos:" + str(t)) def Verollinen(): #Lasketaan alv: määrä lähtötiedon ollessa verollinen hinta rahaSumma = float(e1.get()) t = Laske(verokanta.get(),2,rahaSumma) tulos.set("Tulos:" + str(round(t*100.0)/100.0)) frame = Frame(root) frame.pack() #Ensimmäiseen frameen lisätään valinnat, jotka ovat alv:n prosentit. verokanta = IntVar() radio1 = Radiobutton(frame,text="24%", variable=verokanta,value=1) radio1.pack() radio2 = Radiobutton(frame,text="14%",variable=verokanta,value=2) radio2.pack() radio3 = Radiobutton(frame,text="10%",variable=verokanta,value=3) radio3.pack() #Toinen frame #Toiseen kehykseen laitetaan tekstikenttä ja näppäimet. frame2 = Frame(root) frame2.pack() selite = StringVar() selite.set("Veroton/Verollinen hinta") l1 = Label(frame2,textvariable=selite) l1.pack() e1 = Entry(frame2,bd=5) e1.pack() b1 = Button(frame2,text="Veroton",command=Veroton) b1.pack() b2 = Button(frame2,text="Verollinen",command=Verollinen) b2.pack() #Kolmas kehys. frame3 = Frame(root) frame3.pack() tulos = StringVar() tulos.set("Tulos:") l2 = Label(frame3,textvariable=tulos) l2.pack() root.mainloop()
koodaaja kirjoitti:
Seuraavaksi keskityn tietorakenteisiin ja olen vähän aikaa lähettämättä koodeja.
Et ole koskaan tainnut avata, että mikä sinua motivoi tätä roskaa suoltamaan yleensäkään?
Aihe on jo aika vanha, joten et voi enää vastata siihen.