Tämä on esimerkki pelkistetystä päiväsakkolaskurista, jossa ei oteta huomioon lasten lukumääriä. Ohjelma laskee päiväsakon kokonaissumman tai nettotulojen määrän syötteiden avulla. Ohjelma laskee kolme eri tulosta.
Päiväsakko lasketaan vähentämällä nettotuloista ensin 255 euroa tämän ja tämän jälkeen jaetaan 60:lla. Yhden päiväsakon vähimmäissumma on kuusi euroa.
from tkinter import * def sel(): #Muutetaan selitettä. if (valinta.get() == 1): selite.config(text="Tulot") elif (valinta.get() == 2): selite.config(text="Sakon summa") def Laske(sMaara,sMaara2,sMaara3,laskettava,valinta): tu = 0.0 tu2 = 0.0 tu3 = 0.0 perus = 0.0 if (valinta == 1): #Lasketaan sakon kokonaissumma #Laskettaan ensin yhden päiväsakon määrä. perus = (laskettava-255)/60.0 if (perus < 6): #Päiväsakon vähimmäismäärä on kuusi euroa. perus = 6 tu = perus*sMaara tu2 = perus*sMaara2 tu3 = perus*sMaara3 elif (valinta == 2): #Lasketaan tulot. tu = (60*laskettava)/sMaara+255 tu2 = (60*laskettava)/sMaara2+255 tu3 = (60*laskettava)/sMaara3+255 return tu,tu2,tu3 def Tulos(): #Otetaan sakkojen määrä sMaara = int(sakkojenMaara.get()) sMaara2 = int(sakkojenMaara2.get()) sMaara3 = int(sakkojenMaara3.get()) #Lasketaan joko tulojen tai sakon summan kautta. laskettava = var.get() tu,tu2,tu3 = 0.0,0.0,0.0 tu,tu2,tu3 = Laske(sMaara,sMaara2,sMaara3,laskettava,valinta.get()) tulos.config(text=str(int(tu))) tulos2.config(text=str(int(tu2))) tulos3.config(text=str(int(tu3))) root = Tk() #Ohjelmassa on kolme kehystä. #Ensimmäiseen kehykseen laitetaan säädin ja tekstikentät. syotteet = Frame(root) syotteet.pack() selite = Label(syotteet) selite.pack() selite.config(text="Ei mitään") var = DoubleVar() syote = Scale(syotteet,from_=0,to=3000,variable=var) syote.pack() #Luodaan tekstikentät ja niiden selitteet. teksti = Label(syotteet) teksti.pack() teksti.config(text="Määrä 1:") sakkojenMaara = Entry(syotteet,bd=5) sakkojenMaara.pack() teksti2 = Label(syotteet) teksti2.pack() teksti2.config(text="Määrä 2:") sakkojenMaara2 = Entry(syotteet,bd=5) sakkojenMaara2.pack() teksti3 = Label(syotteet) teksti3.pack() teksti3.config(text="Määrä 3:") sakkojenMaara3 = Entry(syotteet,bd=5) sakkojenMaara3.pack() #Toiseen kehykseen laitetaan valinnat ja näppäin. valinnat = Frame(root) valinnat.pack() valinta = IntVar() tulot = Radiobutton(valinnat,text="Tulot",variable=valinta,value=1,command=sel) tulot.pack() sakkoSumma = Radiobutton(valinnat,text="Sakonsumma",variable=valinta,value=2,command=sel) sakkoSumma.pack() nappain = Button(valinnat,text="Laske",command=Tulos) nappain.pack() #Kolmanteen kehykseen laitetaan tulokset. tulokset = Frame(root) tulokset.pack() tulos = Label(tulokset) tulos.pack() tulos.config(text="0") tulos2 = Label(tulokset) tulos2.pack() tulos2.config(text="0") tulos3 = Label(tulokset) tulos3.pack() tulos3.config(text="0") root.mainloop()
Aihe on jo aika vanha, joten et voi enää vastata siihen.