slemiba

hianyzasok

May 11th, 2020
980
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #print("4. feladat")
  2. def hetnapja(honap, nap):
  3.     napnev=["vasarnap", "hetfo", "kedd", "szerda", "csutortok",
  4.  "pentek", "szombat"]
  5.     napszam=[0,31,59,90,120,151,181,212,243,273,304,335]
  6.     napsorszam=(napszam[honap-1]+nap)%7
  7.     return napnev[napsorszam]
  8.  
  9.  
  10. print("1. feladat")
  11. # beolvasá
  12. file=open("naplo.txt")
  13. hianyzasok=[]
  14. nap=""
  15. for i in file:
  16.     db=i.rstrip("\n").split(" ")
  17.     if db[0]=="#": #nap
  18.        
  19.         nap=hetnapja(int(db[1]),int(db[2]))
  20.     if db[0]!="#": # hianyzas
  21.         hianyzasok.append(i.rstrip("\n")+" "+nap)
  22.  
  23. print("2. feladat")
  24. print("A naplóban "+str(len(hianyzasok))+" bejegyzés van.")
  25.  
  26. print("3. feladat")
  27. igazolatlan=0
  28. igazolt=0
  29. for i in hianyzasok:
  30.     db=i.split(" ")
  31.     # db[2]-> órák
  32.     # X: igazolt
  33.     # I: igazoaltlan
  34.     igazolatlan=igazolatlan+int(db[2].count("I"))
  35.     igazolt=igazolt+int(db[2].count("X"))
  36.  
  37. print("Az igazolt hiányzások száma "+str(igazolt)+", az igazolatlanoké "+str(igazolatlan)+" óra.")
  38.  
  39. print("5. feladat")
  40. honap=int(input("A hónap sorszáma="))
  41. nap=int(input("A nap sorszáma="))
  42. print("Azon a napon "+hetnapja(honap,nap)+" volt.")
  43.  
  44.  
  45. print("6. feladat")
  46. nap=input("A nap neve=")
  47. ora=int(input("Az óra sorszáma="))-1 # index
  48. hiany=0
  49.  
  50. for i in hianyzasok:
  51.     db=i.split(" ")
  52.     if db[3]==nap:
  53.         if (db[2][ora]!="O"):
  54.             hiany=hiany+1
  55. print("Ekkor összesen "+str(hiany)+" óra hiányzás történt. ")
  56.        
  57. print("7. feladat")
  58. tan_hiany=[]
  59. for i in range(0,51,1):
  60.     tan_hiany.append(0)
  61. tan_nev=[]
  62.  
  63. for i in hianyzasok:
  64.     db=i.split(" ")
  65.     nev=db[0]+" "+db[1]
  66.     hianyzasok=db[2].count("X")
  67.     hianyzasok=hianyzasok+db[2].count("I")
  68.    
  69.     if tan_nev.count(nev)==0: # nincs benne
  70.         tan_nev.append(nev)
  71.     if tan_nev.count(nev)>0: # benne van
  72.         index=tan_nev.index(nev)
  73.         tan_hiany[index]=tan_hiany[index]+hianyzasok #?
  74.  
  75. maxh=max(tan_hiany)
  76. print("A legtöbbet hiányzó tanulók: ", end="")
  77.  
  78. maxdb=tan_hiany.count(maxh)
  79. for i in range(0,maxdb, 1):
  80.    
  81.  
  82.     ind=tan_hiany.index(maxh)
  83.     print(tan_nev[ind]+" ",end="")
  84.     tan_hiany[ind]=-1
RAW Paste Data