這是我的任務: 編寫一個解密祕密消息的程序。解密炒字母?
它應該首先提示用戶輸入拼音字母。然後它應該要求祕密消息。最後,它輸出未加擾的版本。
請注意,正好有26個字符爲亂碼字母輸入。所有的字母字符都被翻譯成它們的解碼等價物(這將需要一個WHILE循環),而所有其他的非字母字符應該與沒有翻譯時一樣輸出。
這是我到目前爲止的代碼:
decrypt = ["*"] * 26
scram_alphabet = input("Please input the scrambled alphabet in order: ")
while len(scram_alphabet) != 26:
scram_alphabet = input("Please input the scrambled alphabet in order. The alphabet must have 26 characters: ")
num = 0
for each_letter in scram_alphabet:
decrypt[num] = ord(each_letter)
num = num + 1
print()
print()
msg = input("Now input your scrambled message: ")
print()
print()
num = 0
alphabet = [" "] * 26
for letter in range (26):
alphabet[letter] = letter + 65
while num < 26:
alphabet [num] = decrypt [num]
print(chr(alphabet[num]))
num = num + 1
for alpha in msg.upper():
if alpha < "A" or alpha > "Z":
print(alpha,end="")
else:
print(chr(decrypt[ ord(alpha) - 65 ]), end="")
我似乎無法弄清楚如何使用while循環解擾字母表。
目前如果我輸入'XQHAJDENKLTCBZGUYFWVMIPSOR'作爲字母和'VNKW KW BO 1WV WJHFJV BJWWXEJ!'作爲祕密消息,該程序打印出亂碼字母和一個「解讀」消息,讀取「IZTP TP QG 1PI PLNDLI QLPPSJL!」。解密的消息實際上是「這是我的第一個祕密消息!」
任何助手?
我以爲你說你的課是在2天前,2天前結束。你還有功課嗎? – user2357112
是。 hw在決賽後的第二天。 – user2680935