Я думаю, что ключевой элемент знаний, который вам не хватает, - это то, что строки можно повторять. Таким образом, вы можете делать такие вещи, как:
for c in "FOO":
print(c)
# prints "F\nO\nO\n"
И вы можете найти индекс символа в строке с помощью str.index . Таким образом, вы можете создать свой зашифрованный текст следующим образом:
alpha = "abcdefghijklmnopqrstuvwyz "
cypher = "pokmenliuytrw qazxcvsdfgbhn"
plaintext = "some string"
cyphertext = ""
for c in plaintext:
char_index = alpha.index(c)
cyphertext += cypher[char_index]
Вы также можете выполнять итерации по встроенным вещам - это называется понимание . Таким образом, для преобразования вашей строки вы можете сделать это вместо использования for
l oop:
cyphertext = "".join(cypher[alpha.index(c)] for c in plaintext)
В приведенном выше примере функция str.join используется для объединения каждого символа Шифротекст.