我试图创建一个Caesar Cypher函数,当给定一个输入文件时,程序(通过命令行)分析文件,找出每个字母(小写和大写)的数量。从那里我可以找出解密文件的密钥。在
我遇到的问题是把最常见的字母拉出来,然后把它转换成一个键。在
我下面的代码还远远没有完成。我一直在想办法找出一个最常见的字母。从那里我相信使用已经使用的代码变体,我将能够转换并使用一个数字作为键。我真的需要一个关于如何得到初始字符的指针。在
此代码不是完整的程序,只是用于分析文件并将结果存储在字典中的代码:
elif fileOption == "2":
def decryptChars(aString):
"Function to count characters in the input file"
charCount = {}
for char in aString:
if char in charCount.isalpha():
if char in charCount:
charCount[char] = charCount[char] + 1
else:
charCount[char] = 1
return charCount
try:
inputFile = open(sys.argv[1], "r")
except:
sys.exit("The file {} could not be opened...".format(sys.argv[1]))
totalChars = inputFile.read().replace(" ", "")
charCount = decryptChars(totalChars)
print(sorted(charCount.items()))
当我传递一个字符串为“而不是要求所有所需的功能都内置到语言的核心”的文件时,我得到的结果是:
^{pr2}$(我不知道最好的试件,因为它将返回2和9…)。在
任何建议都会非常有帮助。在
好吧,给你一个包含对的列表:
最简单的方法是使用for循环
^{pr2}$假设:
下面是一行代码来获取出现最多的字符:
^{pr2}$相关问题 更多 >
编程相关推荐