usr bin python coding utf-8 class antiCezaris Issifruoja Cezario koda

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/python
# -*- coding: utf-8 -*-
class antiCezaris:
''' Issifruoja Cezario koda. '''
def __init__(self, a='a', A='A', z='z', Z='Z'):
''' Inicializuojame dekoderį su nebūtinu žodynu.
Keyworded arguments a, A, z, Z nurodo atitinkamas abecėlės ribas.'''
self.__A = ord(A)
self.__Z = ord(Z)
self.__a = ord(a)
self.__z = ord(z)
self.__abecelejeRaidziu = self.__z - self.__a + 1
def __yraMazojiRaide(self, kodas):
''' Ar simbolis pagal kodą priklauso mažų raidžių aibei. '''
return self.__a <= kodas <= self.__z
def __yraDidziojiRaide(self, kodas):
''' Ar simbolis pagal kodą priklauso didelių raidžių aibei. '''
return self.__A <= kodas <= self.__Z
def __yraRaide(self, kodas):
''' Ar simbolis pagal kodą priklauso mažų raidžių aibei. '''
return self.__yraMazojiRaide(kodas) or self.__yraDidziojiRaide(kodas)
def raide(self, raide, zingsnis = 3):
kodas = ord(raide)
if (self.__yraMazojiRaide(kodas)):
a = self.__a
z = self.__z
elif (self.__yraDidziojiRaide(kodas)):
a = self.__A
z = self.__Z
else:
return raide
kodas -= zingsnis
if (kodas < a):
kodas += cezarioRaide.__abecelejeRaidziu
elif (kodas > z):
kodas -= cezarioRaide.__abecelejeRaidziu
return chr(kodas)
def tekstas(self, tekstas, zingsnis = 3):
''''''
return ''.join([self.raide(i, zingsnis) for i in list(tekstas)])
if (__name__ == '__main__'):
lauztuvas = antiCezaris()
tekstas = 'PDvRQDL YDOJR WLN qhvyhlnd PDLVWD! QHVHQLD YIOQLXMH WLQNODV "KHVEYUJHU". NRNLD YLOQLDXV UHUWRUDQR, EH <<GULYH-IP>> DGUHVR JDWZH??'
print lauztuvas.tekstas(tekstas)