这个问题来自我正在学习的一门课程。 我试过回答这个问题,但没有取得任何进展。 请用能解决此问题的代码响应。 问题如下。
问题: “Message”类包含可用于对字符串应用密码的方法,用于加密或解密消息(因为对于Caesar代码,这是相同的操作)。
在接下来的两个问题中,您将根据docstrings中的规范填写ps6.py中的消息类的方法。消息类中已填写的方法有:
__init__(self, text)
getter方法get_message_text(self)
getter方法get_valid_words(self)
,注意这个方法返回self.valid_words
的副本,以防止有人对原始列表进行变异。
在这个问题中,您将填写两种方法:
填写Message
类的build_shift_dict(self, shift)
方法。确保字典中同时包含小写和大写字母,但小写字母的移位字符及其大写版本是同一字母的小写和大写实例。这意味着,如果原始字母是“a”,其移位值是“c”,则字母“a”应移位到字母“c”。
如果您不熟悉英文字母表的顺序或字符,我们将遵循string.ascii_小写和string.ascii_大写显示的字母顺序:
>>> import string
>>> print string.ascii_lowercase
abcdefghijklmnopqrstuvwxyz
>>> print string.ascii_uppercase
ABCDEFGHIJKLMNOPQRSTUVWXYZ
来自简介页的提示-空格字符、逗号、句点、感叹号等字符将不会被此密码加密-基本上,string.penstion中的所有字符,加上“string.digits”中的空格('')和所有数字字符(0-9)。
填写Message
类的apply_shift(self, shift)
方法。您可能会发现使用build_shift_dict(self, shift)
更容易。记住,空格和标点符号不应该被密码改变。
非常感谢您的帮助!
相关问题 更多 >
编程相关推荐