题解 | #简单密码#

"""
思路:
1.小写字与数字关系用字典
2.大写字母变小写用.lower() ,发生位移用编码字符转换ord()和chr()
3.处理各种情况时注意嵌套if-else的理解
"""
s = input()
ns = ""
d = {
    "abc": 2,
    "def": 3,
    "ghi": 4,
    "jkl": 5,
    "mno": 6,
    "pqrs": 7,
    "tuv": 8,
    "wxyz": 9
}
for i in s:
    if i.isalpha(): # 若i是字母进入
        if i.isupper(): # 若i是大写字母
            if i == "Z": # 若是大写“Z”
                ns += "a"
            else: #若不是“Z”的大写字母
                ns += chr(ord(i.lower()) + 1) # 编码字符转换
        else: # a若i是小写字母
            for key in d.keys(): # 遍历字典所有键名
                if i in key:
                    ns += str(d[key]) # 取键值的字符形式
    else: # 若i不是字母
        ns += i
print(ns)


全部评论

相关推荐

06-26 17:24
已编辑
宁波大学 Java
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
码农索隆:这种hr,建议全中国推广
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务