Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import verolib
- class auto:
- vuosimalli = ""
- co2 = 0
- # Luetaan tiedosto ja muutetaan se haluttuun muotoon, jossa on halutut tiedot. #
- def valinta_1(x,y):
- nimi = str(input("Anna luettavan tiedoston nimi: "))
- file = open(nimi, "r", encoding = "utf-8")
- while True:
- rivi = file.readline()
- if len(rivi) == 0:
- file.close()
- print("Tiedosto",'"',nimi,'"',"luettu.")
- return x and y
- if rivi[0:2] == "M1":
- search = rivi.split(";")
- if search[1] != "":
- amalli = int(search[1][0:4])
- else:
- amalli = 0
- if search[33] != "":
- ems = int(search[33])
- else:
- ems = -1
- if ems != -1 and 2010 <= amalli <= 2016:
- kaara = auto()
- kaara.vuosimalli = amalli
- kaara.co2 = ems
- x.append(kaara)
- infot = str(amalli)+";"+str(ems)
- y.append(infot)
- def valinta_2(lista1):
- s2010 = 0
- s2011 = 0
- s2012 = 0
- s2013 = 0
- s2014 = 0
- s2015 = 0
- s2016 = 0
- for kaara in lista1: # käydään läpi autojen vuosittaiset veronkertymät #
- if kaara.vuosimalli == 2010:
- hinta = float(verolib.vero(kaara.co2))
- s2010 = s2010 + hinta
- elif kaara.vuosimalli == 2011:
- hinta = float(verolib.vero(kaara.co2))
- s2011 = s2011 + hinta
- elif kaara.vuosimalli == 2012:
- hinta = float(verolib.vero(kaara.co2))
- s2012 = s2012 + hinta
- elif kaara.vuosimalli == 2013:
- hinta = float(verolib.vero(kaara.co2))
- s2013 = s2013 + hinta
- elif kaara.vuosimalli == 2014:
- hinta = float(verolib.vero(kaara.co2))
- s2014 = s2014 + hinta
- elif kaara.vuosimalli == 2015:
- hinta = float(verolib.vero(kaara.co2))
- s2015 = s2015 + hinta
- elif kaara.vuosimalli == 2016:
- hinta = float(verolib.vero(kaara.co2))
- s2016 = s2016 + hinta
- print("Verokertymät vuosittain 2010-luvulla ovat seuraavat:\n"
- "2010", int(s2010),"euroa.\n"
- "2011", int(s2011), "euroa.\n"
- "2012", int(s2012), "euroa.\n"
- "2013", int(s2013), "euroa.\n"
- "2014", int(s2014), "euroa.\n"
- "2015", int(s2015), "euroa.\n"
- "2016", int(s2016), "euroa.")
- # määritellään eri päästöluokat #
- def emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9):
- if kaytto < 50:
- luokka1 = luokka1 + 1
- elif 50 <= kaytto < 100:
- luokka2 = luokka2 + 1
- elif 100 <= kaytto < 150:
- luokka3 = luokka3 +1
- elif 150 <= kaytto < 200:
- luokka4 = luokka4 + 1
- elif 200 <= kaytto < 250:
- luokka5 = luokka5 + 1
- elif 250 <= kaytto < 300:
- luokka6 = luokka6 + 1
- elif 300 <= kaytto < 350:
- luokka7 = luokka7 + 1
- elif 350 <= kaytto < 400:
- luokka8 = luokka8 + 1
- elif kaytto > 400:
- luokka9 = luokka9 + 1
- return(luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- # Määritellään eri päästöluokissa olevien autojen määrä. # Ongelma funktio kutsussa. #
- def paastoluokat(vmalli10, vmalli11, vmalli12, vmalli13, vmalli14, vmalli15, vmalli16):
- luokka1 = 0
- luokka2 = 0
- luokka3 = 0
- luokka4 = 0
- luokka5 = 0
- luokka6 = 0
- luokka7 = 0
- luokka8 = 0
- luokka9 = 0
- for infot in lista2:
- auto1 = infot.split(";")
- kaytto = int(auto1[1])
- vmalli = int(auto1[0])
- if vmalli == 2010:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli10 = ("2010;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- elif vmalli == 2011:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli11 = str("2011;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- elif vmalli == 2012:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli12 = str("2012;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- elif vmalli == 2013:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli13 = str("2013;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- elif vmalli == 2014:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli14 = str("2014;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- elif vmalli == 2015:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli15 = str("2015;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- elif vmalli == 2016:
- emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
- vmalli16 = str("2016;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
- return (vmalli10, vmalli11, vmalli12, vmalli13, vmalli14, vmalli15, vmalli16)
- def valinta_3():
- nimi1 = input("Anna kirjoitettavan tiedoston nimi: ")
- file1 = open(nimi1, "w", encoding = "utf-8")
- paastoluokat(vmalli10, vmalli11, vmalli12, vmalli13, vmalli14, vmalli15, vmalli16)
- arvot = str(";50;100;150;200;250;300;350;400;1000;\n")
- file1.write(arvot)
- file1.write(vmalli10 + "\n")
- file1.write(vmalli11 + "\n")
- file1.write(vmalli12 + "\n")
- file1.write(vmalli13 + "\n")
- file1.write(vmalli14 + "\n")
- file1.write(vmalli15 + "\n")
- file1.write(vmalli16 + "\n")
- print("CSV-tiedosto kirjoitettu.")
- file1.close()
- def valinta_4():
- file1 = open(nimi1,"r", encoding = "utf-8")
- while True:
- rivi1 = file1.readline()
- if len(rivi1) == 0:
- break
- print(rivi1)
- file1.close
- def paaohjelma():
- while True:
- print("Anna haluamasi toiminnon numero seuraavasta valikosta:\n1) Lue ajoneuvotiedot\n2) Laske ja tulosta verot\n3) Kirjoita CSV-tiedosto\n4) Tulosta CSV-tiedsoton data näytölle\n0) Lopeta")
- valinta = int(input("Valintasi: "))
- if valinta == 0:
- print("Kiitos ohjelman käytöstä.")
- break
- elif valinta == 1:
- lista1 = []
- lista2 = []
- valinta_1(lista1,lista2)
- elif valinta == 2:
- valinta_2(lista1)
- elif valinta == 3:
- valinta_3()
- elif valinta == 4:
- valinta_4()
- else:
- print("Väärä valinta.")
- paaohjelma()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement