描述
现在有一种密码变换算法。
九键手机键盘上的数字与字母的对应: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.
而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a 。
数字和其它的符号都不做变换。
数据范围: 输入的字符串长度满足 1≤�≤100 1≤n≤100
输入描述:
输入一组密码,长度不超过100个字符。
输出描述:
输出密码变换后的字符串
示例1
输入:
YUANzhi1987
复制输出:
zvbo9441987
s1 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
s2 = '0123456789bcdefghijklmnopqrstuvwxyza22233344455566677778889999'
# print(len(s1),len(s2))
n = input()
'''方法一'''
# for i in n:
# print(s2[s1.index(i)],end = '') #使用索引来获取对应的值
'''方法二'''
dic = dict(zip(s1,s2))
s=''.join([dic[i] for i in n]) #使用key来获取value
print(s)
'''
大写字母对于的ascllc码值为65-90
'''
'''准备第一个数据'''
# digt = ''.join([str(i) for i in range(1,10)]) #数字123456789
# uper = ''.join([chr(i) for i in range(65,91)]) #大写字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ
# low = ''.join(uper).lower() #小写字母:abcdefghijklmnopqrstuvwxyz
# str1 = ''.join([digt,uper,low]) #所有元素:123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
# '''准备第二个数据'''
# d = ''.join(sorted((digt[1:9]*3))) #12223334445556667778889
# # mix2 = ''.join([digt,uper,d]) #123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ12223334445556667778889
# '''对mix2元素左移'''
# low1 = low[:1][::-1]
# low2 = low[1:][::-1]
# low3 = (low1+low2)[::-1]
# '''得到与mix1对应的数据123456789bcdefghijklmnopqrstuvwxyza12223334445556667778889'''
# str2 = digt+low3+d #数字+大写对于的小写+小写对于的数字
# print(str1)
# print(str2)
# print(len(str1))
# print(len(str2))
# n = input()
# for i in n:
# print(str2[str1.index(i)],end='')#str.index(sub [, start [, end]])
'''字符串左移试列'''
# c = ['a','s','f','g','c']
# h = c[1:][::-1]
# k = c[:1][::-1]
# print('dhkj',(k+h)[::-1]) #['s', 'f', 'g', 'c', 'a'],k+h的顺序不能反