Advertisement
slemiba

sorozatok - 2020. okt - emelt

May 4th, 2021
1,269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.62 KB | None | 0 0
  1. from datetime import datetime
  2. class epizod:
  3.     def __init__(self, dt='', cim='', resz='', hossz='', latta=''):
  4.         self.dt=dt
  5.         self.cim=cim
  6.         self.resz=resz
  7.         self.hossz=hossz
  8.         self.latta=latta
  9.    
  10. sorozatok=[]
  11. db=0
  12. latta=0
  13. latta_perc=0
  14.  
  15. with open("lista.txt") as f:
  16.     for line in f:
  17.         epi = epizod()
  18.         epi.dt=line.rstrip("\n")
  19.         if epi.dt!="NI":
  20.             db=db+1
  21.  
  22.         epi.cim=next(f).rstrip("\n")
  23.         epi.resz=next(f).rstrip("\n")
  24.         epi.hossz=next(f).rstrip("\n")
  25.         epi.latta=next(f).rstrip("\n")
  26.         if epi.latta=="1":
  27.             latta=latta+1
  28.             latta_perc=latta_perc+int(epi.hossz)
  29.  
  30.  
  31.  
  32.         sorozatok.append(epi)
  33.  
  34.  
  35. print("1. feladat")
  36.  
  37. print("2. feladat")
  38.  
  39. print("A listában "+str(db)+" db vetítési dátummal rendelkező epizód van.")
  40.  
  41. print("3. feladat")
  42.  
  43. osszes = len(sorozatok)
  44. szazalek = round(latta / osszes *100, 2)
  45.  
  46. print("A listában lévő epizódok "+str(szazalek)+"%-át látta.")
  47.  
  48. print("4. feladat")
  49. nap = latta_perc // (24*60)
  50. ora = (latta_perc - nap*24*60) // 60
  51. perc = (latta_perc - nap*24*60) % 60
  52.  
  53. print("Sorozatnézéssel "+str(nap)+" napot "+str(ora)+" órát és "+str(perc)+" percet töltött.")
  54.  
  55. print("5. feladat")
  56. dt = input("Adjon meg egy dátumot! Dátum= ")
  57. dt=datetime.strptime(dt,"%Y.%m.%d")
  58.  
  59. for i in sorozatok:
  60.     if i.latta=="0" and i.dt!="NI":
  61.         a=datetime.strptime(i.dt,"%Y.%m.%d")
  62.         if a <= dt:
  63.             print(i.resz,'\t',i.cim)
  64.  
  65. print("6. feladat")
  66. def hetnapja(ev, ho, nap):
  67.     napok = ["v", "h", "k", "sze", "cs", "p", "szo"]
  68.     honapok = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]
  69.  
  70.     if ho < 3:
  71.         ev = ev-1
  72.     return napok[(ev+ev // 4 - ev // 100 + ev // 400 + honapok[ho-1] + nap) % 7]
  73.  
  74. print("7. feladat")
  75. hnap = input("Adja meg a hét egy napját (például cs)! Nap= ")
  76.  
  77. sorozat_cimek = set()
  78. for i in sorozatok:
  79.     if i.dt!="NI":
  80.         a=datetime.strptime(i.dt,"%Y.%m.%d")
  81.         if hnap==hetnapja(a.year,a.month,a.day):
  82.             sorozat_cimek.add(i.cim)
  83.  
  84. if len(sorozat_cimek)==0:
  85.     print("Az adott napon nem kerül adásba sorozat.")
  86. else:
  87.     for i in sorozat_cimek:
  88.         print(i)
  89.  
  90. print("8. feladat")
  91.  
  92.  
  93. sori_cimek = set()
  94. file = open("summa.txt","w")
  95.  
  96. for i in sorozatok:
  97.     sori_cimek.add(i.cim)
  98.  
  99. for i in sori_cimek:
  100.     time = 0
  101.     db = 0
  102.     for j in sorozatok:
  103.         if i == j.cim:
  104.             time=time+int(j.hossz)
  105.             db=db+1
  106.     #print(i,time,db)
  107.     szoveg = i+" "+str(time)+" "+str(db)+"\n"
  108.     file.write(szoveg)
  109.  
  110. file.close()
  111.        
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement