slemiba

eutazas

Apr 13th, 2020
1,125
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. print('1. feladat')
  2. adatok=[]
  3. file=open("utasadat.txt")
  4.  
  5. adatok=[line.rstrip('\n') for line in file]
  6.  
  7. print("2. feladat")
  8. #utasszám -> beolvasott sorok száma -> adatok listában elemek száma
  9. print("A buszra "+str(len(adatok))+" utas akart felszállni.")
  10.  
  11. #s=0
  12. #for i in range(0,len(adatok)):
  13. #    s=s+1
  14. #print(s)
  15.  
  16.  
  17. print("3. feladat")
  18. # elutasítások száma
  19.  
  20. # végig nézzük a lista elemeit egyesével
  21. # felfogjuk bonta a lista elemeit ' '
  22. # még 1x darabolunk '-' mentén -> felszállás dt
  23. # JGY == 0 -> számolni vagy
  24. # felszállás dt>=érv. dátuma
  25.  
  26. elut=0 # elutasítások száma
  27.  
  28. for i in range(0, len(adatok)):
  29.     sordb=adatok[i].split(' ')
  30.     dtdb=sordb[1].split('-')
  31.  
  32.     if (sordb[3]=='JGY' and sordb[4]=='0'):
  33.         elut=elut+1
  34.     if (sordb[3]=="FEB" or sordb[3]=="TAB" or sordb[3]=="NYB"):
  35.        
  36.         if dtdb[0]>sordb[4]:
  37.             elut=elut+1
  38.  
  39. print("A buszra "+str(elut)+" utas nem szállhatott fel.")
  40.  
  41. print("4. feladat")
  42.  
  43. m_usz=[]
  44. for i in range(0,30):
  45.     m_usz.append(0)
  46.  
  47. for i in range(0, len(adatok)):
  48.     sordb=adatok[i].split(' ')
  49.     msz=int(sordb[0])
  50.  
  51.     m_usz[msz]=m_usz[msz]+1
  52.  
  53.  
  54. print("A legtöbb utas ("+str(max(m_usz))+" fő) a "+str(m_usz.index(max(m_usz)))+". megállóban próbált felszállni.")
  55.  
  56.  
  57. print("5. feladat")
  58. kedv=0
  59. ingy=0
  60.  
  61. for i in range(0,len(adatok)):
  62.     sordb=adatok[i].split(' ')
  63.     if (sordb[3]!="JGY"):
  64.         dtdb=sordb[1].split('-')
  65.         #dtdb[0]
  66.         if (dtdb[0]<=sordb[4]): # érvényes
  67.             if (sordb[3]=="TAB" or sordb[3]=="NYB"):
  68.                 kedv=kedv+1
  69.             if (sordb[3]=="NYP" or sordb[3]=="RVS" or sordb[3]=="GYK"):
  70.                 ingy=ingy+1
  71.  
  72. print("Ingyenesen utazók száma: "+str(ingy)+" fő")
  73. print("A kedvezményesen utazók száma: "+str(kedv)+" fő")
  74.  
  75.  
  76. print("6. feladat")
  77.  
  78. def napokszama(e1, h1, n1, e2, h2, n2):
  79.     h1 = (h1 + 9) % 12
  80.     e1 = e1 - h1 / 10
  81.     d1= 365*e1 + e1 / 4 - e1 / 100 + e1 / 400 + (h1*306 + 5) / 10 + n1 - 1
  82.     h2 = (h2 + 9) % 12
  83.     e2 = e2 - h2 / 10
  84.     d2= 365*e2 + e2 / 4 - e2 / 100 + e2 / 400 + (h2*306 + 5) / 10 + n2 - 1
  85.     ertek=d2-d1
  86.     return ertek
  87.  
  88.  
  89.  
  90. print("7. feladat")
  91. file2=open("figyelmeztetes.txt","w")
  92.  
  93. for i in range(0, len(adatok)):
  94.     sordb=adatok[i].split(' ')
  95.     if (sordb[3]!="JGY"):
  96.        
  97.         dtdb=sordb[1].split('-')
  98.         ev1=int(sordb[1][0:4])
  99.         ho1=int(sordb[1][4:6])
  100.         nap1=int(sordb[1][6:8])
  101.  
  102.         ev2=int(sordb[4][0:4])
  103.         ho2=int(sordb[4][4:6])
  104.         nap2=int(sordb[4][6:8])
  105.  
  106.         if (napokszama(ev1,ho1,nap1,ev2,ho2,nap2)>=0 and napokszama(ev1,ho1,nap1,ev2,ho2,nap2)<=3):
  107.            file2.write(sordb[2]+" "+sordb[4][0:4]+"-"+sordb[4][4:6]+"-"+sordb[4][6:8]+"\n")
  108.            
  109. file2.close()
RAW Paste Data