Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrBlaise/7022736 to your computer and use it in GitHub Desktop.
Save MrBlaise/7022736 to your computer and use it in GitHub Desktop.
Emelt informatika érettségi 2005 október - Vigenére Tábla / Solution for Advanced Computer Science Matura 2005 october (Hungary)
#!/usr/bin/env python3
# Rostás Balázs - Emelt informatika érettségi 2005 október - Vigenére Tábla
import string
# 1. feladat:
while True:
szovegBe = input("Kérem adjon meg egy maximum 255 karakter hosszú szöveget: ")
if len(szovegBe) > 255:
print("A megadott szöveg túl hosszú! Próbálja újra!\n")
elif len(szovegBe) == 0:
print("Nem adott meg szöveget! Próbálja újra!\n")
else:
break
# 2. feladat:
szovegBe = szovegBe.upper()
magyarKarakter = {"Ő":"O", "Ú":"U", "É":"E", "Á":"A", "Ű":"U", "Ö":"O", "Ü":"U", "Ó":"O", "Í":"I"}
for char in szovegBe:
if char in magyarKarakter.keys():
szovegBe = szovegBe.replace(char, magyarKarakter[char])
if char in string.punctuation or char in string.digits or char == " ":
szovegBe = szovegBe.replace(char, "")
# 3. feladat:
print("\nA nyíltszöveg:\n",szovegBe,"\n", sep="")
# 4. feladat:
while True:
kulcsSzo = input("Kérem adjon meg egy maximum 5 karakteres kulcsszót: ")
if len(kulcsSzo) > 5:
print("A megadott kulcsszó több mint 5 karakter! Próbálja újra!\n")
elif len(kulcsSzo) == 0:
print("Nem adott meg kulcsszót! Próbálja újra!\n")
else:
break
kulcsSzo = kulcsSzo.upper()
# 5. feladat:
szamlalo = 0
while (len(kulcsSzo) < len(szovegBe)):
if szamlalo == len(kulcsSzo):
szamlalo = 0
kulcsSzo = kulcsSzo + kulcsSzo[szamlalo]
szamlalo += 1
print("\nA kulcsszöveg:\n"+str(kulcsSzo)+"\n")
# 6. feladat:
vTabla = []
fajlBe = open("Vtabla.dat", "r")
for line in fajlBe:
vTabla.append(line.strip("\n"))
fajlBe.close()
kodoltKi = ""
oszlopSzam = []
sorSzam = []
for char in szovegBe:
oszlop = 0
while (char != vTabla[oszlop][0]):
oszlop += 1
oszlopSzam.append(oszlop)
for char in kulcsSzo:
sor = 0
while (char != vTabla[0][sor]):
sor += 1
sorSzam.append(sor)
for char in range(len(szovegBe)):
sor, oszlop = sorSzam[char], oszlopSzam[char]
kodoltKi = kodoltKi + vTabla[oszlop][sor]
# 7. feladat:
print("A kódolt szöveg:\n" + str(kodoltKi))
fajlKi = open("kodolt.dat", "w")
fajlKi.write(kodoltKi)
fajlKi.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment