在一行上输入一个长度为
的字符串
,代表给定的密码。
在一行上输出一个字符串,代表变换后的密码。
NowCoder123
o69d6337123
import sys
map_data = {
"abc": 2,
"def": 3,
"ghi": 4,
"jkl": 5,
"mno": 6,
"pqrs": 7,
"tuv": 8,
"wxyz": 9,
}
def convert_str(str_a):
# 大写
if str_a.isupper():
# 大写转换逻辑
# 先转换为小写
str_a = str_a.lower()
if str_a == "z":
return "a"
else:
return chr(ord(str_a) + 1)
# 小写
if str_a.islower():
# 小写转换逻辑
for key, value in map_data.items():
if str_a in key:
# 找到value
return value
if str_a.isdigit():
return str_a
for line in sys.stdin:
a = line.strip().split()[0]
for i in a:
b=convert_str(i)
print(b,end="")
import sys
d = {
"abc":2,
"edf":3,
"ghi":4,
"jkl":5,
"mno":6,
"pqrs":7,
"tuv":8,
"wxyz":9
}
for line in sys.stdin:
result = ""
chars = line.strip()
for char in chars:
if char.islower():
for k in d.keys():
if char in k:
result+=str(d[k])
elif char.isdigit():
result += char
elif char.isupper():
char = char.lower()
if char == "z":
swich = "a"
result += swich
else:
swich= chr(ord(char)+1)
result+=swich
print(result) d = {'a':'2', 'b':'2', 'c':'2', 'd':'3', 'e':'3', 'f':'3', 'g':'4', 'h':'4', 'i':'4', 'j':'5', 'k':'5', 'l':'5', 'm':'6', 'n':'6', 'o':'6', 'p':'7', 'q':'7', 'r':'7', 's':'7', 't':'8', 'u':'8', 'v':'8', 'w':'9', 'x':'9', 'y':'9', 'z':'9', 'A':'b', 'B':'c', 'C':'d', 'D':'e', 'E':'f', 'F':'g', 'G':'h', 'H':'i', 'I':'j', 'J':'k', 'K':'l', 'L':'m', 'M':'n', 'N':'o', 'O':'p', 'P':'q', 'Q':'r', 'R':'s', 'S':'t', 'T':'u', 'U':'v', 'V':'w', 'W':'x', 'X':'y', 'Y':'z', 'Z':'a', '1':'1', '2':'2', '3':'3', '4':'4', '5':'5', '6':'6', '7':'7', '8':'8', '9':'9', '0':'0'}
pw = input()
for i in pw:
print(d[i], end='') 用ASCII码来实现
def transletter(a): # 对参数 字符进行转换
asc_a = ord(a)
if asc_a == 97 or asc_a == 98 or asc_a == 99:
new_asc = 50
elif asc_a == 100 or asc_a == 101 or asc_a == 102:
new_asc = 51
elif asc_a == 103 or asc_a == 104 or asc_a == 105:
new_asc = 52
elif asc_a == 106 or asc_a == 107 or asc_a == 108:
new_asc = 53
elif asc_a == 109 or asc_a == 110 or asc_a == 111:
new_asc = 54
elif asc_a == 112 or asc_a == 113 or asc_a == 114 or asc_a == 115:
new_asc = 55
elif asc_a == 116 or asc_a == 117 or asc_a == 118:
new_asc = 56
elif asc_a == 119 or asc_a == 120 or asc_a == 121 or asc_a == 122:
new_asc = 57
elif asc_a >= 65 and asc_a <= 89:
new_asc = asc_a + 33
elif asc_a == 90:
new_asc = 97
else:
new_asc = asc_a
return new_asc
s = input()
s_lst = list(s)
asc_lst = [] # 存储密码的ASCII码值
for item in s_lst:
asc_le = transletter(item)
temp = asc_le
asc_lst.append(temp)
password = []
for item in asc_lst:
pass_letter = chr(item)
temp = pass_letter
password.append(temp)
pss = ''.join(password)
print(pss)
import re
dict_ = {
"abc": 2,
"def": 3,
"ghi": 4,
"jkl": 5,
"mno": 6,
"pqrs": 7,
"tuv": 8,
"wxyz": 9,
}
dict_2 = {j:str(dict_[key]) for key in dict_.keys() for j in list(key)}
pwd = input()
val_list = list(dict_2.keys())
pwd_trans=[]
for i in list(pwd):
if i.islower()==True:
pwd_trans.append(dict_2[i])
elif i.isupper()==True:
i_trans=i.lower()
if i=='Z':
pwd_trans.append('a')
else:
pwd_trans.append(val_list[val_list.index(i_trans)+1])
elif len(re.findall('[0-9]',i))>0:
pwd_trans.append(i)
print(''.join(pwd_trans))
a = input()
aa = str.maketrans ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
"22233344455566677778889999bcdefghijklmnopqrstuvwxyza",)
a = a.translate(aa);print(a) 咱用Python3的真是太省头发了!
import sys
alpha_dict = {
"abc": "2",
"def": "3",
"ghi": "4",
"jkl": "5",
"mno": "6",
"pqrs": "7",
"tuv": "8",
"wxyz": "9"
}
for line in sys.stdin:
m = ''
for s in line:
if s.isalpha():
if s.islower():
for a in alpha_dict:
if s in a:
s = alpha_dict[a]
break
else:
s = "a" if s == "Z" else chr(ord(s.lower()) + 1)
m += s
print(m) import sys
for line in sys.stdin:
password = ""
for i in line:
if i == '1':
print(i, end="")
else:
if i.isalpha():
if i.islower():
if i not in ['s', 'v', 'y', 'z']:
print((ord(i) - ord('a')) // 3 + 2, end="")
else:
print((ord(i) - ord('a')) // 3 + 1, end="")
else:
c = chr(ord(i)+1).lower()
if c.isalpha():
print(c, end="")
else:
print("a", end="")
else:
print(i, end="")