python dict 词典解密

简单密码

http://www.nowcoder.com/questionTerminal/7960b5038a2142a18e27e4c733855dac

解析题目,其实就是分三步骤,小写字母怎么转换,大写字母怎么转换,数字怎么转换。
解题过程中,dic的便利要注意下。
直接for key in dic 便利出来的是key值。想获得value得使用dict.get(key,None)
或者for key,value in dic.items() dic.items() 是以列表形式返回可便利的(键,值)元祖数组。

code_str =input()
dic ={"1":1,"abc":2,"def":3,"ghi":4,"jkl":5,"mno":6,"pqrs":7,"tuv":8,"wxyz":9,"0":0}
out_str = []
for x in code_str:
    if x.islower():
        # for key in dic: 
        #     dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
        #    dict.items()以列表返回可遍历的(键, 值) 元组数组
        for key,value in dic.items():
            if x in key:
                out_str.append(str(value))     
    elif x.isupper():
        if x.lower()=='z':
            x = 'a'
        else:
            x = chr(ord(x.lower())+1)
        out_str.append(x)
    elif x.isdigit():
        out_str.append(x)
out_str_join = ''.join(out_str)
print(out_str_join)
全部评论

相关推荐

bLanK的小号:建议自己写一个比较新颖的项目,比如思维导图,在线文档,仿造postman,仿造一个组件库
点赞 评论 收藏
分享
牛客765689665号:没有实习是硬伤,央国企看学历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务