Advertisement
MrBlaise

Emelt informatika érettségi 2005 október - Vigenére Tábla

May 21st, 2013
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.26 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. # Informatika emelt érettségi 2005 október - Vigenére Tábla
  4. # Rostás Balázs
  5.  
  6. import string
  7.  
  8. # 1. feladat:
  9.  
  10. while True:
  11.     szovegBe = input("Kérem adjon meg egy maximum 255 karakter hosszú szöveget: ")
  12.  
  13.     if len(szovegBe) > 255:
  14.         print("A megadott szöveg túl hosszú! Próbálja újra!\n")
  15.     elif len(szovegBe) == 0:
  16.         print("Nem adott meg szöveget! Próbálja újra!\n")
  17.     else:
  18.         break
  19.    
  20. # 2. feladat:        
  21.  
  22. szovegBe = szovegBe.upper()
  23. magyarKarakter = {"Ő":"O", "Ú":"U", "É":"E", "Á":"A", "Ű":"U", "Ö":"O", "Ü":"U", "Ó":"O", "Í":"I"}
  24.  
  25. for char in szovegBe:
  26.     if char in magyarKarakter.keys():
  27.         szovegBe = szovegBe.replace(char, magyarKarakter[char])
  28.     if char in string.punctuation or char in string.digits or char == " ":
  29.         szovegBe = szovegBe.replace(char, "")
  30.        
  31. # 3. feladat:
  32.  
  33. print("\nA nyíltszöveg:\n",szovegBe,"\n", sep="")
  34.  
  35. # 4. feladat:
  36.  
  37. while True:
  38.     kulcsSzo = input("Kérem adjon meg egy maximum 5 karakteres kulcsszót: ")
  39.  
  40.     if len(kulcsSzo) > 5:
  41.         print("A megadott kulcsszó több mint 5 karakter! Próbálja újra!\n")
  42.     elif len(kulcsSzo) == 0:
  43.         print("Nem adott meg kulcsszót! Próbálja újra!\n")
  44.     else:
  45.         break
  46.  
  47. kulcsSzo = kulcsSzo.upper()
  48.  
  49. # 5. feladat:
  50.  
  51. szamlalo = 0
  52. while (len(kulcsSzo) < len(szovegBe)):
  53.     if szamlalo == len(kulcsSzo):
  54.         szamlalo = 0
  55.     kulcsSzo = kulcsSzo + kulcsSzo[szamlalo]
  56.     szamlalo += 1
  57.  
  58. print("\nA kulcsszöveg:\n"+str(kulcsSzo)+"\n")
  59.  
  60. # 6. feladat:
  61.  
  62. vTabla = []
  63.  
  64. fajlBe = open("Vtabla.dat", "r")
  65. for line in fajlBe:
  66.     vTabla.append(line.strip("\n"))
  67. fajlBe.close()
  68.  
  69. kodoltKi = ""
  70.  
  71. oszlopSzam = []
  72. sorSzam = []
  73.  
  74. for char in szovegBe:
  75.     oszlop = 0
  76.     while (char != vTabla[oszlop][0]):
  77.         oszlop += 1
  78.     oszlopSzam.append(oszlop)
  79.    
  80. for char in kulcsSzo:
  81.     sor = 0
  82.     while (char != vTabla[0][sor]):
  83.         sor += 1
  84.     sorSzam.append(sor)
  85.  
  86. for char in range(len(szovegBe)):
  87.     sor, oszlop = sorSzam[char], oszlopSzam[char]
  88.     kodoltKi = kodoltKi + vTabla[oszlop][sor]
  89.    
  90. # 7. feladat:
  91.  
  92. print("A kódolt szöveg:\n" + str(kodoltKi))
  93.  
  94. fajlKi = open("kodolt.dat", "w")
  95. fajlKi.write(kodoltKi)
  96. fajlKi.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement