А возможно ли подменять буквы
И так, как сделать так, чтобы определённые буквы заменялись, например буквы
T, t = 7, 7
V, v = \/, \/
W, w = \v/, \v/
Z, z = 2, 2
L, l = 1, 1
I, i = |, |
G, g = 6, 6
D, d = [), [)
C, c = (, (
вот как должно это выглядеть
Hello, my name is Liquid, bruh client He11o, my name |s 1|qu|[), bruh (1|en7
Ответы (2 шт):
Автор решения: gil9red
→ Ссылка
Можно, например через функцию строки replace, или через генерацию новой строки с подменой символов, или через функцию строки translate:
- Для алгоритма с
replaceпроходим по словарю и вызываем замену ключа на значение - При генерации новой строки, перебирая символы запрашиваем значение по ключу и если ключа не будет, вернется сам символ, такая логика в
.get(c, c) - Для использования функции строки
translateнужна таблица, которую получим черезmaketransиспользя словарь с ассоциацией символов, а дальше вызываем метод
Для удобства работы, оформил ассоциацию символов в виде словаря. А для проверки работы использовал оператор assert
Пример:
CHAR_BY_REPLACED = {
'T': '7', 't': '7',
'V': r'\/', 'v': r'\/',
'W': r'\v/', 'w': r'\v/',
'Z': '2', 'z': '2',
'L': '1', 'l': '1',
'I': '|', 'i': '|',
'G': '6', 'g': '6',
'D': '[)', 'd': '[)',
'C': '(', 'c': '(',
}
def using_replace(text: str) -> str:
for c1, c2 in CHAR_BY_REPLACED.items():
text = text.replace(c1, c2)
return text
def create_new_string(text: str) -> str:
return ''.join(CHAR_BY_REPLACED.get(c, c) for c in text)
def using_translate(text: str) -> str:
trans_table = str.maketrans(CHAR_BY_REPLACED)
return text.translate(trans_table)
text = 'Hello, my name is Liquid, bruh client'
expected = 'He11o, my name |s 1|qu|[), bruh (1|en7'
print(using_replace(text))
assert using_replace(text) == expected
print(create_new_string(text))
assert create_new_string(text) == expected
print(using_translate(text))
assert using_translate(text) == expected
Автор решения: ganz
→ Ссылка
Частично так
astring='abc'
alist=bytearray(astring,encoding='utf')
alist[0]=ord('A')
#Abc
Всегда като-так
def repl(string,num,char):
return string[0,num-1]+char+string[num,-1]