题解 | #简单密码#

"""
思路:
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)


全部评论

相关推荐

点赞 评论 收藏
分享
牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务