我一直在做替补

2024-07-01 07:04:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做的程序包括3个文件,加密的文本文件(文字.txt),一个有3条线索的档案(线索.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+,只需使用提示部分,非常感谢您的帮助!你知道吗


Tags: 文件程序txtclosereadtimesleep档案
1条回答
网友
1楼 · 发布于 2024-07-01 07:04:23

你在找这样的东西吗:

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是替换字典。在for循环之后,它将等于{'%': 'N', '#': 'A', '*': 'M'}。你知道吗

如果存在替换,则最后一行将c中的每个字符encryptedText替换为clues中的字符。字典的方法get(key, default)返回赋值给键keydefault(如果没有这样的键)。你知道吗

相关问题 更多 >

    热门问题