Advertisement
MrBlaise

Emelt informatika érettségi 2005 május - Lottó

May 21st, 2013
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.21 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. # Rostás Balázs - Emelt infomatika érettségi 2005, Lottó
  4.  
  5. # Fájl beolvasás függvénnyel: (Végül egyszer van csak felhasználva a függvény, de gyakorlásképp oldottam meg így)
  6.  
  7. def fajlBe(fajl):
  8.     fajlBe = open(fajl, "r")
  9.     lottoSzamLista = []
  10.        
  11.     for sor in fajlBe:
  12.         lottoSzamLista.append(sor.split())
  13.            
  14.     lottoSzamLista = [[int(szam) for szam in het] for het in lottoSzamLista]
  15.            
  16.     fajlBe.close()
  17.  
  18.     return lottoSzamLista
  19.    
  20.  
  21. # 1-2. feladat ______________________________________________________:
  22. lottoSzam = []
  23. print("Kérem adja meg a hiányzó 52. hét lottószámait:\n")
  24.  
  25. for i in range(5):
  26.     lottoSzam.append(int(input("Kérem adja meg az "+str(i+1)+". számot: ")))
  27.  
  28. lottoSzam.sort()
  29. print("\nA megadott számok:", lottoSzam)
  30.  
  31. # 3-4. feladat ______________________________________________________:
  32. lottoSzamLista = fajlBe("lottosz.dat")
  33. bekerSzam = int(input("\nAdjon meg egy számot 1-51 között: "))
  34. print(lottoSzamLista[bekerSzam-1])
  35.  
  36. # 5. feladat ________________________________________________________:
  37.  
  38. szamEgyszerSe = False
  39.  
  40. for lottoszam in range(1, 91):
  41.     for het in range(51):
  42.         if lottoszam in lottoSzamLista[het]:
  43.             szamEgyszerSe = False
  44.             break
  45.         else:
  46.             szamEgyszerSe = True
  47.            
  48.     if szamEgyszerSe:        
  49.         break
  50.        
  51. if szamEgyszerSe:
  52.     print("\nVan olyan szám amit egyszer sem húztak ki az 51 hét alatt!")
  53. else:
  54.     print("\nNincs olyan szám amit egyszer sem húztak ki az 51 hét alatt!")
  55.  
  56. # 6. feladat ________________________________________________________:
  57. paratlan = 0
  58.  
  59. for het in lottoSzamLista:
  60.     for szam in het:
  61.         if szam%2 == 1:
  62.             paratlan += 1
  63.            
  64. print("\n",paratlan," db páratlan szám került kihúzásra.\n", sep="")
  65.  
  66. # 7. feladat ________________________________________________________:
  67. ujFajl = open("lotto52.ki","w")
  68.  
  69. lottoSzamString = [[str(szam) for szam in het] for het in lottoSzamLista]
  70.  
  71. for het in lottoSzamString:
  72.     ujFajl.write(" ".join(het)+"\n")
  73.  
  74. ujFajl.write(" ".join(str(szam) for szam in lottoSzam))
  75.  
  76. ujFajl.close()
  77.  
  78. # 8. feladat ________________________________________________________:
  79.  
  80. ujFajl = fajlBe("lotto52.ki")
  81. kihuzas = []
  82.  
  83. for szam in range(1,91):
  84.     dbSzam = 0
  85.     for het in ujFajl:
  86.         if szam in het:
  87.             dbSzam += 1
  88.     kihuzas.append(dbSzam)
  89.  
  90. kihuzasMasolat = [str(szam) for szam in kihuzas]
  91. print("Egyes számok gyakorisága:")
  92.  
  93. for sor in range(6):
  94.     print(" ".join(kihuzasMasolat[:15]))
  95.     kihuzasMasolat = kihuzasMasolat[15:]
  96.  
  97. # 9. feladat ________________________________________________________:
  98. print()
  99. primSzamok = []
  100.  
  101. for num in range(2,91):
  102.     if all(num%i!=0 for i in range(2,num)):
  103.        primSzamok.append(num)
  104.        
  105. primVolt = True
  106. print("A nem kihuzott prímszám(ok): ", end="")
  107.  
  108. for lottoszam in primSzamok:
  109.     for het in range(52):
  110.         if lottoszam not in ujFajl[het]:
  111.             primVolt = False
  112.            
  113.         else:
  114.             primVolt = True
  115.             break
  116.        
  117.     if not primVolt:        
  118.         print(lottoszam, end=" ")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement