模块'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'的主要内容,如果未能解决你的问题,请参考以下文章

模块'random'没有属性'randomint'

Codeforces118D Caesar's Legions(DP)

D. Caesar's Legions

Python:模块'pyarrow'没有属性'orc'

text AttributeError:模块'enum'没有属性'IntFlag'

Codeforces-118D. Caesar's Legions(lazy dynamics)