Advertisement
Guest User

Untitled

a guest
Nov 14th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.85 KB | None | 0 0
  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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement