Это код, написанный Александром Б. в моем предыдущем посте:
# Your dict
code_2 = {14: 'a', 15: 'b', 16: 'c', 24: 'd', 25: 'e', 26: 'f', 34: 'g',
35:'h', 36: 'i', 44: 'j', 45: 'k', 46: 'l', 54: 'm', 55: 'n',
56: 'ñ', 64: 'o', 65: 'p', 66: 'q', 74: 'r', 75: 's', 76: 't',
84: 'u', 85: 'v', 86: 'w', 94: 'x', 95: 'y', 96: 'z'}
def decode_word(text):
# Check then length or the string
if len(text) %2 != 0:
raise ValueError("Text incorrect (must have a even length)")
# Split to a list of 2 numbers
text_l = ["".join([a,b]) for a,b in zip(text[::2], text[1::2])]
# Rebuild the world
word = "".join([code_2.get(int(key), "") for key in text_l])
# Check if all keys have been found
if len(word) < len(text)//2:
print("WARNING: Some keys doesn't belong to 'code_2'.")
return word
Дело в том, что, скажем, я хочу "расшифровать" следующее: "3525464664 156415" (привет Боб) Если я введу это число во ввод, это выдаст ошибку («ПРЕДУПРЕЖДЕНИЕ: некоторые ключи не принадлежат« code_2 ».»). Я полагаю, что это происходит потому, что он не распознает «пробел» как ключ в code_2.
Есть ли способ, которым я могу расшифровать предложения с пробелами и всем, не получая эту ошибку? Возможно, часть кода или весь его придется изменить, я не против, я просто хочу, чтобы это сработало.
Спасибо за продвинутый:)