分类:字符串
知识点:
-
判断一个元素是否在集合中 if char not in key_set
-
计算字母差 index = ord(char) - ord('a')
题目来自【牛客】
# 生成加密表
def generate_cipher_table(key):key_set = set()cipher_table = ""# 去重for char in key:if char not in key_set:cipher_table += charkey_set.add(char)# 未出现的字母按照正常字母表顺序加入新字母表for char in "abcdefghijklmnopqrstuvwxyz":if char not in key_set:cipher_table += charreturn cipher_table# 使用给定的密匙加密信息
def encrypt_message(cipher_table, message):result = ""for char in message:# 计算索引index = ord(char) - ord('a')encrypted_char = cipher_table[index]result += encrypted_charreturn result# 输入
key = input().strip()
message = input().strip()# 生成加密表和加密信息,然后输出结果
cipher_table = generate_cipher_table(key)
encrypted_message = encrypt_message(cipher_table, message)
print(encrypted_message)