模块'caesar'没有属性'alphabet'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块'caesar'没有属性'alphabet'相关的知识,希望对你有一定的参考价值。
我是Python的新手,我不认为我完全理解我收到的'no attribute'错误消息,想知道是否有人可以指出一些提示或更好地解释'alphabet'变量所缺少的内容。
import caesar
def loadDictionary():
dictionary =
file = open('dictionary.txt')
for word in file.read().split('\n'):
dictionary[word.upper()] = None
file.close
return dictionary
DICTIONARY = loadDictionary()
def isEnglish(plaintext):
matchingWords=0
words = plaintext.split(' ')
for word in words:
if word.upper() in DICTIONARY:
matchingWords += 1
return matchingWords / len(words) >= 0.6
def bruteForce(cihertext):
for key in range(len(caesar.alphabet)):
plaintext = caesar.caesar(ciphertext, key, 'd')
if isEnglish(plaintext):
print('Key: ' + str(key) + 'Plaintext = ' + plaintext)
return None
ciphertext = 'Qefp'
bruteForce(ciphertext)
答案
这意味着caesar
模块不包含任何称为“字母”的内容。在文档或其源代码中查找正确的名称。考虑到在python中,所有变量名均区分大小写。
以上是关于模块'caesar'没有属性'alphabet'的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces118D Caesar's Legions(DP)