题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

"""
# 开始:
(1)解题思路
 没有,题目看了三遍,没看懂,好吧,不知道出题人的问题,还是我理解能力有问题, > 直接看答案推题
没理解的情况下,把样例中的内容代入进去理解

本题意思:
a、给1个密钥key,1个要加密的字符串。
b、要生成2行字母串上下对应。
    第一行字母串:28个英文单词逐次添加进去
    第二行的前面部分:把密钥key中的字符串先加到里面(重复的字母只添加第一个就好了),
    第二行的后面部门:继续往后添加字母,把28个字母中没有出现过的字母依次添加到后面,生成28个字母串
c、遍历要加密的字符串,在第一行中找到这个元素,继续找到第二行与之对应列的元素。循环查找所有对应的元素并最终生成加密后的字符串


1、获取key,去掉key中重复的字母保留第一个,
(2)思路的代码实现方式
 
  
# 总结:
(1)为什么我的解题思路很傻逼?

(2)为什么我不懂代码实现方式?
 
(3)我为什么去debug了?

"""


# 生成新的密钥(先将key中的字母加入到字母表new中,然后在字母表后继续添加内容:在26个字母中没有出现过的字母)
key, s = input(), input()

# 首先生成正常字母顺序表
l = [chr(ord("a") + i) for i in range(28)]

new = []
for i in key:
    if i not in new:
        new.append(i)
for i in l:
    if i not in new:
        new.append(i)
# 与正常字母顺序表,一起生成对照表。
m = dict(zip(l, new))

# 遍历要加密的字符串s,根据元素获取对照表中的值
n = "".join([m[i] for i in s])    
print(n)


#数据仓库与数据分析实习#
OD专栏练习梳理 文章被收录于专栏

OD专栏练习梳理

全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
4
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务