大家好。有这样一段代码:
import random
ALL_SYMBOLS = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя'
key = list(ALL_SYMBOLS)
random.shuffle(key)
key = ''.join(key)
message = 'Абрикосовый сок после - это лучшее, что может быть'
secret_message = ''
for letter in message:
if key.find(letter):
new_index = key.find(letter)
secret_message += ALL_SYMBOLS[new_index]
else:
print(f'Не нашёл символ - {letter}')
secret_message += letter
print(secret_message)
我正在尝试message使用简单的替换密码进行加密。在此阶段,我忽略空格并期望在加密消息中它们将保留在与原始消息中相同的位置。一切似乎都加密得很好,但有时会漏掉
Не нашёл символ - ь
зщЁгСЫЭЫфЦьяЭЫСяэЫЭцПяяяпжЫяцШЧЮППяяЧжЫяъЫчПжящЦжь
在这种情况下,空格被符号“I”替换,并且由于某种原因没有找到。为什么会发生这种情况?
key.find(letter)返回索引key,如果未找到则返回-1 。将代码相应更改为: