daily pastebin goal
3%
SHARE
TWEET

Untitled

a guest Nov 14th, 2017 56 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
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top