题解 | #简单密码#
简单密码
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)