Advertisement
Guest User

emelt

a guest
Feb 16th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.82 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3.  
  4. # In[3]:
  5.  
  6.  
  7. menetek = []
  8. class Menet:
  9.     def __init__(self, nap , ora_perc, rendszam, szemelyid, km, kihajtas):
  10.         self.nap = nap
  11.         self.ora_perc = ora_perc
  12.         self.rendszam = rendszam
  13.         self.szemelyid = szemelyid
  14.         self.km = km
  15.         self.kihajtas = True if kihajtas == '0' else False
  16.  
  17.  
  18. # In[4]:
  19.  
  20.  
  21. # question 1
  22. with open('autok.txt','r') as file:
  23.     content = [i.replace('\n', '') for i in file.readlines()]
  24.     for m in content:
  25.         mar = m.split(' ')
  26.         menetek.append(Menet(mar[0],mar[1], mar[2], mar[3], mar[4], mar[5]))
  27.  
  28.  
  29. # In[5]:
  30.  
  31.  
  32. # question 2
  33. def last_car_out(list):
  34.     for element in list[::-1]:
  35.         if element.kihajtas:
  36.             return element
  37.  
  38.  
  39. # In[12]:
  40.  
  41.  
  42. # question 3
  43. def traffic_for_specific_day(list, day):
  44.     return [x for x in list if x.nap == day]
  45.  
  46.  
  47. # In[26]:
  48.  
  49.  
  50. # question 4
  51. def how_many_cars_out_by_the_end_of_the_mount(list):
  52.     return len([x for x in list if x.kihajtas]) - len([x for x in list if not x.kihajtas])
  53.  
  54.  
  55. # In[38]:
  56.  
  57.  
  58. # question 5
  59. def sum_kilometers(list):
  60.     autos = []
  61.     result = []
  62.     for x in list:
  63.         if x.rendszam not in autos:
  64.             autos.append(x.rendszam)
  65.     for rendszam in autos:
  66.         currently = [x for x in list if x.rendszam == rendszam]
  67.         result.append((rendszam, int(currently[-1].km) - int(currently[0].km)))
  68.     return result
  69.  
  70.  
  71. # In[49]:
  72.  
  73.  
  74. # question 6
  75. class Trip:
  76.     def __init__(self, id, km):
  77.         self.id = id
  78.         self.km = km
  79.        
  80. def longest_trip(list):
  81.     trips = []
  82.     for szemely,index in zip(list,range(len(list))):
  83.         if szemely.kihajtas:
  84.             i = index
  85.             while i < len(list):
  86.                 if szemely.szemelyid == list[i].szemelyid and szemely.rendszam == list[i].rendszam and not list[i].kihajtas:
  87.                     trips.append(Trip(szemely.szemelyid, int(list[i].km) - int(szemely.km))
  88.                     break
  89.                 i += 1
  90.                                  
  91.     legnagyobb = Trip(0,0)
  92.     for trip in trips:
  93.         if trip.km > legnagyobb.km:
  94.             legnagyobb = trip
  95.     return legnagyobb
  96.  
  97.  
  98. # In[46]:
  99.  
  100.  
  101. print("2. feladat:")
  102. last = last_car_out(menetek)
  103. print(last.nap + ". nap rendszám: " + last.rendszam)
  104. print("3. feladat:")
  105. day = input("Nap: ")
  106. print("Forgalom a(z) " + day + " napon.")
  107. for menet in traffic_for_specific_day(menetek,day):
  108.     kihajtas = "ki" if menet.kihajtas else "be"
  109.     print(menet.ora_perc + " " + menet.rendszam + " " + menet.szemelyid + " " + kihajtas)
  110. print("4. feladat:")
  111. print("A hónap végén "+str(how_many_cars_out_by_the_end_of_the_mount(menetek))+" autót nem hoztak vissza")
  112. print("5. feladat")
  113. for i in sum_kilometers(menetek):
  114.     print(i)
  115. print(longest_trip(menetek))
  116.  
  117.  
  118. # In[ ]:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement