Advertisement
MrBlaise

Emelt informatika érettségi 2012 október - Színkép

Sep 26th, 2013
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.53 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. # Rostás Balázs  - Emelt informatika érettségi 2012 - október
  4. # Színkép
  5.  
  6.  
  7. # 1. feladat
  8. kepFajl = open("kep.txt", "r")
  9.  
  10. kepAdat = [ sor.strip("\n").split(" ") for sor in kepFajl ]
  11. kepAdat = [ [ int(szam) for szam in lista ] for lista in kepAdat ]
  12. kepAdat = [ kepAdat[index:index+50] for index in range(0, len(kepAdat), 50) ]
  13.  
  14. kepFajl.close()
  15.  
  16. print("1. feladat - kep.txt beolvasása - KÉSZ!\n")
  17.  
  18. # 2. feladat
  19. print("2. feladat:\n")
  20.  
  21. szamBeker = [ int(elem) for elem in input("Kérem adjon meg egy RGB kódot R G B formátumban: ").split(" ")]
  22. laposKepAdat = [elem for allista in kepAdat for elem in allista]
  23. print("Van" if tuple(szamBeker) in set(tuple(kod) for kod in laposKepAdat) else "Nincs", "ilyen szín a képen.")
  24.  
  25. """
  26. if szamBeker in laposKepAdat:
  27.    print("A megadott szín megtalálható a képen!")
  28. else:
  29.    print("A megadott szín nem található meg a képen!")
  30. """
  31.  
  32. # 3. feladat
  33. print("\n3. feladat:\n")
  34.  
  35. print("Sorban:", kepAdat[34].count(kepAdat[34][7]), "Oszlopban:", [sor[7] for sor in kepAdat].count(kepAdat[34][7]))
  36.  
  37. """
  38. keresettKod = kepAdat[34][7]
  39.  
  40. sorSzamlalo = 0
  41.  
  42. for elem in kepAdat[34]:
  43.    if keresettKod == elem:
  44.        sorSzamlalo += 1
  45.  
  46. print("Sorban:", sorSzamlalo, end=" ")
  47.  
  48. oszlopSzamlalo = 0
  49.  
  50. for sor in kepAdat:
  51.    if keresettKod == sor[7]:
  52.        oszlopSzamlalo += 1
  53.  
  54. print("Oszlopban:", oszlopSzamlalo)
  55. """
  56.  
  57. # 4. feladat
  58. print("\n4. feladat:\n")
  59.  
  60. szinkod = {(255,0,0) : "Vörös.", (0,255,0) : "Zöld.", (0,0,255) : "Kék."}
  61. print("A leggyakoribb szín a három (Vörös, Kék, Zöld) közül a",\
  62.       max([ [szinkod[kulcs], laposKepAdat.count(list(kulcs))] for kulcs in szinkod.keys() ], key=lambda x: x[1])[0])
  63.  
  64. '''
  65.  
  66.  
  67. szinSzamlalo = 0
  68.  
  69. for szin in laposKepAdat:
  70.    if szin == [255, 0, 0]:
  71.        szinSzamlalo += 1
  72.  
  73. vorosSzam = szinSzamlalo
  74. szinSzamlalo = 0
  75.  
  76. for szin in laposKepAdat:
  77.    if szin == [0, 255, 0]:
  78.        szinSzamlalo += 1
  79.  
  80. zoldSzam = szinSzamlalo
  81. szinSzamlalo = 0
  82.  
  83. for szin in laposKepAdat:
  84.    if szin == [0, 0, 255]:
  85.        szinSzamlalo += 1
  86.  
  87. kekSzam = szinSzamlalo
  88. szinSzamlalo = 0
  89.  
  90. if max(vorosSzam, zoldSzam, kekSzam) == kekSzam:
  91.    print("Kék", end=" ")
  92. elif max(vorosSzam, zoldSzam, kekSzam) == zoldSzam:
  93.    print("Zöld", end=" ")
  94. else:
  95.    print("Vörös", end=" ")
  96.    
  97. print("színből van a legtöbb.")
  98. '''
  99.  
  100. # 5. feladat
  101. print("\n5.feladat - 3 képpontos keret hozzáadása a képhez - KÉSZ!\n")
  102.  
  103. for y in range(len(kepAdat)):
  104.     for x in range(len(kepAdat[y])):
  105.         if (x<=2) or (x>= len(kepAdat)-3) or (y<=3) or (y>= len(kepAdat)-3):
  106.             kepAdat[y][x] = [0,0,0]
  107.            
  108. # 6. feladat
  109.  
  110. print("6.feladat - keretes.txt létrehozása - KÉSZ!")
  111.  
  112. keretesFajl = open("keretes.txt", "w")
  113. laposKepAdat = [elem for allista in kepAdat for elem in allista]
  114.  
  115. for kod in laposKepAdat:
  116.     print(' '.join(map(str,kod)), file=keretesFajl)
  117. keretesFajl.close()
  118.  
  119. '''
  120. for kod in laposKepAdat:
  121.    for szam in kod:
  122.        keretesFajl.write(str(szam)+" ")
  123.    keretesFajl.write("\n")
  124.  
  125. keretesFajl.close()
  126. '''
  127.  
  128. # 7. feladat
  129. print("\n7. feladat:\n")
  130.  
  131. balFelso = None
  132. keppont = 0
  133.  
  134. for y in range(len(kepAdat)):
  135.     for x in range(len(kepAdat[y])):
  136.         if kepAdat[y][x] == [255,255,0]:
  137.             keppont += 1
  138.             if balFelso == None:
  139.                 balFelso = [x,y]
  140.             jobbAlso = [x,y]
  141.  
  142. print("Kezd: ", balFelso[0]+1, ", ", balFelso[1]+1, sep="")
  143. print("Kezd: ", jobbAlso[0]+1, ", ", jobbAlso[1]+1, sep="")
  144. print("Képpontok száma:", keppont)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement