牛客华为机试HJ36

原题传送门

1. 题目描述

2. Solution 1

1、思路分析
先生成密钥,对输入的key按输入序去重(即保留第1次出现的字符)保存结果到letters2,然后遍历a~z,把未出现在letters2中的字符加入到letters2。
之后就是加密过程,按照下标取出对应字符即可。
2、代码实现

import sys  if sys.platform != linux:     file_in = open(input/HJ36.txt)     sys.stdin = file_in  letters1 = abcdefghijklmnopqrstuvwxyz  while True:     try:         key = input().strip()         text = input().strip()         letters2 = []         for c in key:             if c not in letters2:                 letters2.append(c)         for c in letters1:             if c not in letters2:                 letters2.append(c)         for c in text:             print(letters2[letters1.index(c)], end=)         print()     except:         break