题解 | #简单密码#
简单密码
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="")
凡岛公司福利 613人发布
查看16道真题和解析