mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-18 01:00:15 +00:00
4d0c830d2c
* ci(pre-commit): Add ``flake8-builtins`` additional dependency to ``pre-commit`` (#7104) * refactor: Fix ``flake8-builtins`` (#7104) * fix(lru_cache): Fix naming conventions in docstrings (#7104) * ci(pre-commit): Order additional dependencies alphabetically (#7104) * fix(lfu_cache): Correct function name in docstring (#7104) * Update strings/snake_case_to_camel_pascal_case.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update data_structures/stacks/next_greater_element.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update digital_image_processing/index_calculation.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update graphs/prim.py Co-authored-by: Christian Clauss <cclauss@me.com> * Update hashes/djb2.py Co-authored-by: Christian Clauss <cclauss@me.com> * refactor: Rename `_builtin` to `builtin_` ( #7104) * fix: Rename all instances (#7104) * refactor: Update variable names (#7104) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * ci: Create ``tox.ini`` and ignore ``A003`` (#7123) * revert: Remove function name changes (#7104) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Rename tox.ini to .flake8 * Update data_structures/heap/heap.py Co-authored-by: Dhruv Manilawala <dhruvmanila@gmail.com> * refactor: Rename `next_` to `next_item` (#7104) * ci(pre-commit): Add `flake8` plugin `flake8-bugbear` (#7127) * refactor: Follow `flake8-bugbear` plugin (#7127) * fix: Correct `knapsack` code (#7127) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: Christian Clauss <cclauss@me.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Dhruv Manilawala <dhruvmanila@gmail.com>
69 lines
1.5 KiB
Python
69 lines
1.5 KiB
Python
def mixed_keyword(key: str = "college", pt: str = "UNIVERSITY") -> str:
|
|
"""
|
|
|
|
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)
|
|
len_temp = len(temp)
|
|
# print(temp)
|
|
alpha = []
|
|
modalpha = []
|
|
for j in range(65, 91):
|
|
t = chr(j)
|
|
alpha.append(t)
|
|
if t not in temp:
|
|
temp.append(t)
|
|
# print(temp)
|
|
r = int(26 / 4)
|
|
# print(r)
|
|
k = 0
|
|
for _ in range(r):
|
|
s = []
|
|
for _ in range(len_temp):
|
|
s.append(temp[k])
|
|
if not (k < 25):
|
|
break
|
|
k += 1
|
|
modalpha.append(s)
|
|
# print(modalpha)
|
|
d = {}
|
|
j = 0
|
|
k = 0
|
|
for j in range(len_temp):
|
|
for m in modalpha:
|
|
if not (len(m) - 1 >= j):
|
|
break
|
|
d[alpha[k]] = m[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"))
|