SHARE
TWEET

Untitled

a guest Nov 14th, 2017 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import verolib
  2.  
  3. class auto:
  4.     vuosimalli = ""
  5.     co2 = 0
  6.    
  7.  
  8. # Luetaan tiedosto ja muutetaan se haluttuun muotoon, jossa on halutut tiedot. #
  9. def valinta_1(x,y):
  10.     nimi = str(input("Anna luettavan tiedoston nimi: "))
  11.     file = open(nimi, "r", encoding = "utf-8")
  12.  
  13.     while True:
  14.         rivi = file.readline()
  15.         if len(rivi) == 0:
  16.             file.close()
  17.             print("Tiedosto",'"',nimi,'"',"luettu.")
  18.             return x and y
  19.         if rivi[0:2] == "M1":
  20.             search = rivi.split(";")
  21.             if search[1] != "":
  22.                 amalli = int(search[1][0:4])
  23.             else:
  24.                 amalli = 0
  25.             if search[33] != "":
  26.                 ems = int(search[33])
  27.             else:
  28.                 ems = -1
  29.             if ems != -1 and 2010 <= amalli <= 2016:
  30.                 kaara = auto()
  31.                 kaara.vuosimalli = amalli
  32.                 kaara.co2 = ems
  33.                 x.append(kaara)
  34.                 infot = str(amalli)+";"+str(ems)
  35.                 y.append(infot)
  36.  
  37.  
  38.  
  39. def valinta_2(lista1):
  40.     s2010 = 0
  41.     s2011 = 0
  42.     s2012 = 0
  43.     s2013 = 0
  44.     s2014 = 0
  45.     s2015 = 0
  46.     s2016 = 0
  47.  
  48.     for kaara in lista1:    # käydään läpi autojen vuosittaiset veronkertymät #
  49.         if kaara.vuosimalli == 2010:
  50.             hinta = float(verolib.vero(kaara.co2))
  51.             s2010 = s2010 + hinta
  52.         elif kaara.vuosimalli == 2011:
  53.             hinta = float(verolib.vero(kaara.co2))
  54.             s2011 = s2011 + hinta
  55.         elif kaara.vuosimalli == 2012:
  56.             hinta = float(verolib.vero(kaara.co2))
  57.             s2012 = s2012 + hinta
  58.         elif kaara.vuosimalli == 2013:
  59.             hinta = float(verolib.vero(kaara.co2))
  60.             s2013 = s2013 + hinta
  61.         elif kaara.vuosimalli == 2014:
  62.             hinta = float(verolib.vero(kaara.co2))
  63.             s2014 = s2014 + hinta
  64.         elif kaara.vuosimalli == 2015:
  65.             hinta = float(verolib.vero(kaara.co2))
  66.             s2015 = s2015 + hinta
  67.         elif kaara.vuosimalli == 2016:
  68.             hinta = float(verolib.vero(kaara.co2))
  69.             s2016 = s2016 + hinta
  70.  
  71.     print("Verokertymät vuosittain 2010-luvulla ovat seuraavat:\n"
  72.           "2010", int(s2010),"euroa.\n"
  73.           "2011", int(s2011), "euroa.\n"
  74.           "2012", int(s2012), "euroa.\n"
  75.           "2013", int(s2013), "euroa.\n"
  76.           "2014", int(s2014), "euroa.\n"
  77.           "2015", int(s2015), "euroa.\n"
  78.           "2016", int(s2016), "euroa.")
  79.  
  80. # määritellään eri päästöluokat #
  81. def emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9):
  82.     if kaytto < 50:
  83.         luokka1 = luokka1 + 1
  84.     elif 50 <= kaytto < 100:
  85.         luokka2 = luokka2 + 1
  86.     elif 100 <= kaytto < 150:
  87.         luokka3 = luokka3 +1
  88.     elif 150 <= kaytto < 200:
  89.         luokka4 = luokka4 + 1
  90.     elif 200 <= kaytto < 250:
  91.         luokka5 = luokka5 + 1
  92.     elif 250 <= kaytto < 300:
  93.         luokka6 = luokka6 + 1
  94.     elif 300 <= kaytto < 350:
  95.         luokka7 = luokka7 + 1
  96.     elif 350 <= kaytto < 400:
  97.         luokka8 = luokka8 + 1
  98.     elif kaytto > 400:
  99.         luokka9 = luokka9 + 1
  100.     return(luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  101.  
  102.    
  103.  
  104. # Määritellään eri päästöluokissa olevien autojen määrä. # Ongelma funktio kutsussa. #
  105. def paastoluokat(vmalli10, vmalli11, vmalli12, vmalli13, vmalli14, vmalli15, vmalli16):
  106.     luokka1 = 0
  107.     luokka2 = 0
  108.     luokka3 = 0
  109.     luokka4 = 0
  110.     luokka5 = 0
  111.     luokka6 = 0
  112.     luokka7 = 0
  113.     luokka8 = 0
  114.     luokka9 = 0
  115.     for infot in lista2:
  116.         auto1 = infot.split(";")
  117.         kaytto = int(auto1[1])
  118.         vmalli = int(auto1[0])
  119.         if vmalli == 2010:
  120.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  121.             vmalli10 = ("2010;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  122.         elif vmalli == 2011:
  123.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  124.             vmalli11 = str("2011;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  125.         elif vmalli == 2012:
  126.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  127.             vmalli12 = str("2012;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  128.         elif vmalli == 2013:
  129.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  130.             vmalli13 = str("2013;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  131.         elif vmalli == 2014:
  132.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  133.             vmalli14 = str("2014;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  134.         elif vmalli == 2015:
  135.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  136.             vmalli15 = str("2015;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  137.         elif vmalli == 2016:
  138.             emissions(kaytto, luokka1, luokka2, luokka3, luokka4, luokka5, luokka6, luokka7, luokka8, luokka9)
  139.             vmalli16 = str("2016;" + str(luokka1)+ ";" + str(luokka2) + ";" + str(luokka3) + ";" + str(luokka4) + ";" + str(luokka5) + ";" + str(luokka6) + ";" + str(luokka7) + ";" + str(luokka8) + ";" + str(luokka9))
  140.     return (vmalli10, vmalli11, vmalli12, vmalli13, vmalli14, vmalli15, vmalli16)
  141.  
  142.  
  143.  
  144. def valinta_3():
  145.     nimi1 = input("Anna kirjoitettavan tiedoston nimi: ")
  146.     file1 = open(nimi1, "w", encoding = "utf-8")
  147.     paastoluokat(vmalli10, vmalli11, vmalli12, vmalli13, vmalli14, vmalli15, vmalli16)
  148.     arvot = str(";50;100;150;200;250;300;350;400;1000;\n")
  149.     file1.write(arvot)
  150.     file1.write(vmalli10 + "\n")
  151.     file1.write(vmalli11 + "\n")
  152.     file1.write(vmalli12 + "\n")
  153.     file1.write(vmalli13 + "\n")
  154.     file1.write(vmalli14 + "\n")
  155.     file1.write(vmalli15 + "\n")
  156.     file1.write(vmalli16 + "\n")
  157.     print("CSV-tiedosto kirjoitettu.")
  158.     file1.close()
  159.  
  160. def valinta_4():
  161.     file1 = open(nimi1,"r", encoding = "utf-8")
  162.     while True:
  163.         rivi1 = file1.readline()
  164.         if len(rivi1) == 0:
  165.             break
  166.         print(rivi1)
  167.     file1.close
  168.    
  169.  
  170.  
  171. def paaohjelma():
  172.     while True:
  173.         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")
  174.         valinta = int(input("Valintasi: "))
  175.         if valinta == 0:
  176.             print("Kiitos ohjelman käytöstä.")
  177.             break
  178.         elif valinta == 1:
  179.             lista1 = []
  180.             lista2 = []
  181.             valinta_1(lista1,lista2)
  182.         elif valinta == 2:
  183.             valinta_2(lista1)
  184.         elif valinta == 3:
  185.             valinta_3()
  186.         elif valinta == 4:
  187.             valinta_4()
  188.         else:
  189.             print("Väärä valinta.")
  190.            
  191.            
  192.        
  193.            
  194.            
  195.                
  196.            
  197. paaohjelma()
RAW Paste Data
Top