题解 | #简单密码#

简单密码

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

"""
思路:
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 k,v in d.items(): # 遍历字典所有键名
                if i in k:
                    ns += str(v) # 取键值的字符形式
    else: # 若i不是字母
        ns += i
print(ns)


全部评论

相关推荐

10-21 23:48
蚌埠坦克学院
csgq:可能没hc了 昨天一面完秒挂
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务