【发布时间】:2016-06-05 13:43:24
【问题描述】:
这个问题来自我正在研究的一门课程。 我已经尝试回答这个问题,但我没有取得任何进展。 请回复可以解决此问题的代码。 问题出现在下面。
问题: “消息”类包含可用于将密码应用于字符串的方法,以加密或解密消息(因为对于凯撒代码,这是相同的操作)。
接下来的两个问题,你将根据文档字符串中的规范填写 ps6.py 中的 Message 类的方法。 Message类中已经填写的方法有:
__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_lowercase 和 string.ascii_uppercase 显示的字母顺序:
>>> import string
>>> print string.ascii_lowercase
abcdefghijklmnopqrstuvwxyz
>>> print string.ascii_uppercase
ABCDEFGHIJKLMNOPQRSTUVWXYZ
来自介绍页面的提醒 - 空格字符、逗号、句号、感叹号等字符不会被此密码加密 - 基本上是 string.punctuation 中的所有字符,加上空格('')以及在“string.digits”中找到的所有数字字符 (0 - 9)。
填写Message类的apply_shift(self, shift)方法。您可能会发现使用build_shift_dict(self, shift) 更容易。请记住,密码不应更改空格和标点符号。
非常感谢任何帮助!
【问题讨论】:
-
不太可能有人会回答要求您为作业提供代码的问题。如果您被困在某个地方并遇到特定问题,请提供您的解决步骤或提出新问题。有关“如何提问”的更多信息,请查看SO help page
-
好的,谢谢你的建议。
标签: python python-2.7