凯撒密码作业:使用字典.get方法补全加密函数空缺
解答
核心原理
Python字典内置的get()方法正好满足你的需求,它的调用规则为:
- 第一个参数传入要查找的键
- 第二个可选参数传入查找失败时的默认返回值
你需要查找的键就是遍历得到的每个字符c,查找失败时直接返回c本身即可。
补全后完整代码
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" cipher = {letters[i]: letters[(i-3) % len(letters)] for i in range(len(letters))} def transform_message(message, cipher): tmsg = '' for c in message: tmsg = tmsg + cipher.get(c, c) return tmsg
效果说明
这段代码会自动对大小写字母做位移3位的凯撒加密,空格、标点等不在letters范围内的字符会原样保留,不会被修改。
内容的提问来源于stack exchange,提问作者nomoresky
相关产品推荐
相关产品推荐

