Мне нужна помощь в написании второй части этой программы, которая почти завершена. Я заканчиваю писать часть, в которой зашифрован алфавит, но теперь я застрял в попытке использовать новое шифрование в качестве своего рода кольца декодера, чтобы расшифровать случайное зашифрованное сообщение, которое кто-то может ввести в программу.
Чтобы сделать это проще для понимания, допустим, что шифрование часть этой программы дает вам: NHPWJXEYOZMAFUSCIGLVTDBKRQ
Теперь кто-то может напечатать какое-нибудь случайное сообщение, зашифрованное с использованием нового шифрованного алфавита. Итак, допустим, кто-то печатает: VYOL OL FR 1LV LJPGJV FJLLNEJ!
Теперь программе, которую мне нужно написать, нужно будет использовать закодированный алфавит для декодирования сообщения и напечатать: ЭТО МОЕ 1-Й СЕКРЕТНОЕ СООБЩЕНИЕ!
Если кто-нибудь может помочь, я буду благодарен. Если это все еще звучит странно, просто спросите. Чья у меня программа ниже:
# ENCODE a secret message
# Scramble the alphabet, read a secret message, encode it, print scrambled
import random
def main():
encryption()
decryption()
def encryption():
encrypt=["*"]*26 # all letters available
print(encrypt)
print("Alphabet: ", end="")
for numbah in range(26):
#converts numbah into a letter
letter = chr(numbah+65) # converts 0-25 --> 'A' = 'Z'
print(letter, end="")
#Reminder: find an empty position for that letter to be placed
notfound = True
while notfound:
possible_position = random.randint(0,25)
if encrypt[possible_position] == "*":
notfound = False
encrypt[possible_position] = letter
print("\nScrambled: " , end="")
for numbah in range(26):
print(encrypt[numbah], end="")
print("\n\n")
msg=input("Now, please type your secret message to encode: ")
print("Your secret message: " + msg)
print("Your message encoded: ", end="")
# reminder non alphabetic characters should 'float thru' unchanged!
for alpha in msg.upper():
if alpha < "A" or alpha > "Z":
print(alpha, end="")
else:
print( encrypt[ ord(alpha) - 65], end="")
print("\n")
def decryption():
scram_alph = input("Input the scrambled alphabet from the early prog: ")
scram_mess = input("Input the scrambled messgae you want decoded: ")
main()