构建一个Shift字典并为Caesar密码应用Shift

时间:2016-02-23 16:03:16

标签: python python-2.7

这个问题来自我正在研究的课程。 我试过回答这个问题,但我没有取得任何进展。 请回复代码,以解决此问题。 问题出现在下面。

问题: '消息' class包含可用于将密码应用于字符串的方法,用于加密或解密消息(因为对于Caesar代码,这是相同的操作)。

在接下来的两个问题中,您将根据文档字符串中的规范填写ps6.py中找到的Message类的方法。已经填写的Message类中的方法是:

__init__(self, text)

getter方法get_message_text(self)

getter方法get_valid_words(self),请注意此方法返回self.valid_words的副本,以防止有人改变原始列表。

在这个问题中,您将填写两种方法:

填写build_shift_dict(self, shift)课程的Message方法。确保您的字典包括小写和大写字母,但小写字母及其大写字母的移位字符是相同字母的较低和大写实例。这意味着,如果原始字母是" a"它的移位值是" c",字母" A"应该转到字母" C"。

如果您不熟悉英文字母的顺序或字符,我们将遵循string.ascii_lowercase和string.ascii_uppercase显示的字母顺序:

>>> import string
>>> print string.ascii_lowercase
abcdefghijklmnopqrstuvwxyz
>>> print string.ascii_uppercase
ABCDEFGHIJKLMNOPQRSTUVWXYZ

来自简介页面的提醒 - 空格字符,逗号,句号,感叹号等字符不会被此密码加密 - 基本上,string.punctuation中的所有字符加上空格(&#39) ;')以及' string.digits'中找到的所有数字字符(0 - 9)。

填写apply_shift(self, shift)课程的Message方法。您可能会发现使用build_shift_dict(self, shift)更容易。请记住,密码不应更改空格和标点符号。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

public  String formatTime(String timeFormat) throws Exception{

        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US);
        Date dateServer = simpleDateFormat.parse(timeFormat);

        Calendar cal = Calendar.getInstance();
        cal.setTime(dateServer);
        long timeToFormat=cal.getTimeInMillis();
}