2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,9 +1,11 @@
|
|||
from string import ascii_uppercase as abc
|
||||
|
||||
def caesar(s, k, decode = False):
|
||||
trans = dict(zip(abc, abc[(k,26-k)[decode]:] + abc[:(k,26-k)[decode]]))
|
||||
return ''.join(trans[L] for L in s.upper() if L in abc)
|
||||
|
||||
msg = "The quick brown fox jumped over the lazy dogs"
|
||||
print(caesar(msg, 11))
|
||||
print(caesar(caesar(msg, 11), 11, True))
|
||||
import string
|
||||
def caesar(s, k = 13, decode = False, *, memo={}):
|
||||
if decode: k = 26 - k
|
||||
k = k % 26
|
||||
table = memo.get(k)
|
||||
if table is None:
|
||||
table = memo[k] = str.maketrans(
|
||||
string.ascii_uppercase + string.ascii_lowercase,
|
||||
string.ascii_uppercase[k:] + string.ascii_uppercase[:k] +
|
||||
string.ascii_lowercase[k:] + string.ascii_lowercase[:k])
|
||||
return s.translate(table)
|
||||
|
|
|
|||
9
Task/Caesar-cipher/Python/caesar-cipher-4.py
Normal file
9
Task/Caesar-cipher/Python/caesar-cipher-4.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
from string import ascii_uppercase as abc
|
||||
|
||||
def caesar(s, k, decode = False):
|
||||
trans = dict(zip(abc, abc[(k,26-k)[decode]:] + abc[:(k,26-k)[decode]]))
|
||||
return ''.join(trans[L] for L in s.upper() if L in abc)
|
||||
|
||||
msg = "The quick brown fox jumped over the lazy dogs"
|
||||
print(caesar(msg, 11))
|
||||
print(caesar(caesar(msg, 11), 11, True))
|
||||
Loading…
Add table
Add a link
Reference in a new issue