题解 | #字符串加密#

字符串加密

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))
            

【牛客站内】华为机试题练习记录

全部评论

相关推荐

暮雨轻歌:看起来hr不能接受我菜查看图片
点赞 评论 收藏
分享
02-01 19:48
门头沟学院 Java
神哥了不得:(非引流)直接暑期吧,没时间日常了,老鱼简历把水印去了,或者换个模板,简历字体大小都不太行,建议换2个高质量的项目,面试应该还会再多一些
点赞 评论 收藏
分享
评论
5
2
分享

创作者周榜

更多
牛客网
牛客企业服务