mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
Hard coded inputs to mixed_keyword cypher (#1500)
* Update morse_code_implementation.py * Delete porta_cipher.py * Update mixed_keyword_cypher.py * Mixed keyword cypher added * issue with mixed keyword fixed * no math included * hardcoded inputs * porta cypher added * porta cypher added * commented in mixed keyword according to contrib.md
This commit is contained in:
parent
8a5b1abd0a
commit
e36fe34b0b
71
ciphers/mixed_keyword_cypher.py
Normal file
71
ciphers/mixed_keyword_cypher.py
Normal file
|
@ -0,0 +1,71 @@
|
|||
def mixed_keyword(key="college", pt="UNIVERSITY"):
|
||||
"""
|
||||
|
||||
For key:hello
|
||||
|
||||
H E L O
|
||||
A B C D
|
||||
F G I J
|
||||
K M N P
|
||||
Q R S T
|
||||
U V W X
|
||||
Y Z
|
||||
and map vertically
|
||||
|
||||
>>> mixed_keyword("college", "UNIVERSITY") # doctest: +NORMALIZE_WHITESPACE
|
||||
{'A': 'C', 'B': 'A', 'C': 'I', 'D': 'P', 'E': 'U', 'F': 'Z', 'G': 'O', 'H': 'B',
|
||||
'I': 'J', 'J': 'Q', 'K': 'V', 'L': 'L', 'M': 'D', 'N': 'K', 'O': 'R', 'P': 'W',
|
||||
'Q': 'E', 'R': 'F', 'S': 'M', 'T': 'S', 'U': 'X', 'V': 'G', 'W': 'H', 'X': 'N',
|
||||
'Y': 'T', 'Z': 'Y'}
|
||||
'XKJGUFMJST'
|
||||
"""
|
||||
key = key.upper()
|
||||
pt = pt.upper()
|
||||
temp = []
|
||||
for i in key:
|
||||
if i not in temp:
|
||||
temp.append(i)
|
||||
l = len(temp)
|
||||
# print(temp)
|
||||
alpha = []
|
||||
modalpha = []
|
||||
# modalpha.append(temp)
|
||||
dic = dict()
|
||||
c = 0
|
||||
for i in range(65, 91):
|
||||
t = chr(i)
|
||||
alpha.append(t)
|
||||
if t not in temp:
|
||||
temp.append(t)
|
||||
# print(temp)
|
||||
r = int(26 / 4)
|
||||
# print(r)
|
||||
k = 0
|
||||
for i in range(r):
|
||||
t = []
|
||||
for j in range(l):
|
||||
t.append(temp[k])
|
||||
if not (k < 25):
|
||||
break
|
||||
k += 1
|
||||
modalpha.append(t)
|
||||
# print(modalpha)
|
||||
d = dict()
|
||||
j = 0
|
||||
k = 0
|
||||
for j in range(l):
|
||||
for i in modalpha:
|
||||
if not (len(i) - 1 >= j):
|
||||
break
|
||||
d[alpha[k]] = i[j]
|
||||
if not k < 25:
|
||||
break
|
||||
k += 1
|
||||
print(d)
|
||||
cypher = ""
|
||||
for i in pt:
|
||||
cypher += d[i]
|
||||
return cypher
|
||||
|
||||
|
||||
print(mixed_keyword("college", "UNIVERSITY"))
|
Loading…
Reference in New Issue
Block a user