题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
import sys """ 输入、字典 小写字母的ascii码的范围是【97,122】 大写字母的ascii码的范围是【65,90】 大小写字母之间差距32个数 用到两个函数: ord()#将字母转换成对应的ascii码 chr()#将ascii码转换成对应的字母 """ # def getKey(value, keys_list,dic): # 判断是不是大写字母,是那么就转换阿斯克码+32+1变小写 if "A" <= value < "Z": value = chr(ord(value) + 33) return value elif value == 'Z': return 'a' else: pass # 判断是不是数字,是数字直接输入 if value.isdigit(): return value # 数字和大写字母完成,那就是字典 # 把关键值组成列表,之后判断在哪个关键字里面,返回这个关键字就好了 for i in keys_list: if value in i: return dic.get(i) if __name__ == "__main__": # 输入 s = input() dic = { "1": 1, "abc": 2, "def": 3, "ghi": 4, "jkl": 5, "mno": 6, "pqrs": 7, "tuv": 8, "wxyz": 9, "0": 0, } # 数据准备 keys_list = [] for i in dic.keys(): keys_list.append(i) for i in s: key = getKey(i, keys_list, dic) print(key, end="")