我制作的程序涉及3个文件,加密文本文件(words.txt),包含3条线索的文件(clues.txt)和解决的文本文件(我们不需要)担心它)。 这是我到目前为止所处的位置:
print('This is the encrypted code:')
CodedFile = open('words.txt' , 'r+')
print(CodedFile.read())
CodedFile.close()
time.sleep(3)
print()
print('These are a few hints to get you started:')
HintFile = open('clues.txt' , 'r+')
print(HintFile.read())
HintFile.close()
time.sleep(2)
现在我必须从提示文件中取3个提示并将它们替换为加密代码,三个提示是A =#M = * N =%。其中一个词是ALMANAC,它将是#3 *#%#+加密。如何从#3 *#%#+到A3MANA +,只需使用提示部分,非常感谢帮助!
答案 0 :(得分:0)
你在寻找类似的东西:
codedFile = open("words.txt")
encryptedText = codedFile.read()
codedFile.close()
cluesFile = open("clues.txt")
cluesLines = cluesFile.readlines()
cluesFile.close()
clues = {}
for line in cluesLines:
clues[line[2]] = line[0]
print(''.join(clues.get(c, c) for c in encryptedText))
cluesFile.readlines()
读取所有文件并返回行列表:['A=#\n', 'M=*\n', 'N=%\n']
。
clues
是替换字典。在{'%': 'N', '#': 'A', '*': 'M'}
周期后,它将等于for
。
如果有替换,最后一行将c
中的每个字符encryptedText
替换为clues
中的字符。如果没有这样的密钥,则字典的方法get(key, default)
会返回分配给密钥key
或default
的值。