题解 | #字符串加密#
字符串加密
http://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
'''
淦,这题目我看了半天才理解过来(o(╥﹏╥)o)
小学语文没学好
而且没注意到输入的字符串中仅包含小写字母
但是难度不大,想一想人脑是怎么处理的
'''
# 首先构建第二行字母表(即把密匙单词重组+将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表)
i1 = input()# 密匙单词
new_list=[]# 新字母表
for w1 in i1:# 遍历密匙单词,剔除重复字母
if w1 not in new_list:
new_list.append(w1)
for x in 'abcdefghijklmnopqrstuvwxyz':# 按顺序补剩余字母
if x not in new_list:
new_list.append(x)
# 此时第二行构造完毕
i2 = input()# 待加密的字符串
tem=[]# 存加密处理后字符串
for w2 in i2:# 遍历待加密的字符串
if not w2.isalpha():# 不是字母,比如空格,不处理直接添加
tem.append(w2)
else:# 是字母(因为都是小写字母,所以不用管大小写),则看其在26个字母中的位置,并取出new_list新字母表的该位置字母
tem.append(new_list['abcdefghijklmnopqrstuvwxyz'.index(w2)])
print(''.join(tem))
淦,这题目我看了半天才理解过来(o(╥﹏╥)o)
小学语文没学好
而且没注意到输入的字符串中仅包含小写字母
但是难度不大,想一想人脑是怎么处理的
'''
# 首先构建第二行字母表(即把密匙单词重组+将新建立的字母表中未出现的字母按照正常字母表顺序加入新字母表)
i1 = input()# 密匙单词
new_list=[]# 新字母表
for w1 in i1:# 遍历密匙单词,剔除重复字母
if w1 not in new_list:
new_list.append(w1)
for x in 'abcdefghijklmnopqrstuvwxyz':# 按顺序补剩余字母
if x not in new_list:
new_list.append(x)
# 此时第二行构造完毕
i2 = input()# 待加密的字符串
tem=[]# 存加密处理后字符串
for w2 in i2:# 遍历待加密的字符串
if not w2.isalpha():# 不是字母,比如空格,不处理直接添加
tem.append(w2)
else:# 是字母(因为都是小写字母,所以不用管大小写),则看其在26个字母中的位置,并取出new_list新字母表的该位置字母
tem.append(new_list['abcdefghijklmnopqrstuvwxyz'.index(w2)])
print(''.join(tem))
【牛客站内】华为机试题—中等 文章被收录于专栏
【牛客站内】华为机试题练习记录