👤

Proszę rozwiązać zadaniew pliku. Daje max punków

Proszę Rozwiązać Zadaniew Pliku Daje Max Punków class=

Odpowiedź :

Poniżej przesyłam rozwiązania wraz z komentarzami w pythonie

PYTHON:

szyfr = "PKYZKY SOYZXFKS QXEVZUMXGLOO "

klucz = 6

deszyfr = ""

# korzystamy tutaj z kodu ASCII

# A = 65

# B = 66

# C = 67

# ...

# Z = 90

for znak in szyfr:

 # jeżeli znak jest spacją, to dodaj spację do zdeszyfrowanego tekstu i zakończ "okrążenie" pętli (continue)

 if znak.isspace():

   deszyfr += " "

   continue

 # zmienna przechowuje wartość przestawioną o klucz

 # ord() zamienia wartość zanku na liczbę (zgodnie z ASCII)

 przes = ord( znak ) - klucz

 # UWADA: ord(A) - 1 = 65 = @ (a nie Z !!!)

 # dlatego potrzebna nam zmienna pop - poprawione

       # przes - 65 => A = 0, B = 1, C = 2 ...

                     # ()%26 => -1 -> 25, -2 -> 24, -3 -> 23, -4 -> 22  

                         # +65 => 0 = A, 1 = B

 pop = (przes - 65) % 26 + 65

 # xxx() zamienia inta na znak  

 deszyfr += xxx( pop )