题目:
将一串明文,翻译为密文
规则:
- 明文中小写字母都变成对应的数字,abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9
- 密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。
- 明文中其他字符不变
- 密码中没有空格
输入描述:
输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾
输出描述:
输出渊子真正的密文
示例1
输入
YUANzhi1987
输出
zvbo9441987
代码1:
upperDict = {chr(x): chr(x+33) for x in range(65, 90)}
upperDict['Z'] = 'a'
lowerDict = {chr(x): str((x-97)//3+2) for x in range(97, 115)}
lowerDict['s'] = '7'
b = {chr(x): str((x-116)//3+8) for x in range(116, 122)}
lowerDict['z'] = '9'
lowerDict.update(b)
try:
while True:
line = input()
password = []
for i in line:
if i.isupper():
password.append(upperDict[i])
elif i.islower():
password.append(lowerDict[i])
else:
password.append(i)
print(''.join(password))
except:
pass
代码2:
while True:
e=[]
try:
s = list(input())
for i in s:
if "A" <= i <= "Z": #python语法糖
t=chr((ord(i)+33))
if t>'z':
t='a'
e.append(t)
elif "a" <= i <="c":
e.append('2')
elif "d" <= i <="f":
e.append('3')
elif "g" <= i <="i":
e.append('4')
elif "j" <= i <="l":
e.append('5')
elif "m" <= i <="o":
e.append('6')
elif "p" <= i <="s":
e.append('7')
elif "t" <= i <="v":
e.append('8')
elif "w" <= i <="z":
e.append('9')
else :
e.append(i)
print("".join(e))
except:
break