分类:字符变换
知识点:
-
字符是字母 char.isalpha()
-
字符是小写字母 char.islower()
-
字符是数字 char.isdigit()
-
b变C chr((ord('b') - ord('a') + 1) % 26 + ord('A'))
题目来自【牛客】
# 加密
def encrypt_string(s):result = ""for char in s:if char.isalpha(): # 如果字符是字母if char.islower(): # 如果是小写字母# ord() 是一个内置函数,用于返回一个字符的Unicode码点。# chr() 是一个内置函数,用于将一个Unicode码点转换为其对应的字符。# 使用下一个大写字母替换result += chr((ord(char) - ord('a') + 1) % 26 + ord('A')) else: # 如果是大写字母# 使用下一个小写字母替换result += chr((ord(char) - ord('A') + 1) % 26 + ord('a')) elif char.isdigit(): # 如果是数字result += str((int(char) + 1) % 10) # 数字加1else: # 其他字符result += char # 保持不变return result# 解密
def decrypt_string(s):result = ""for char in s:if char.isalpha(): # 如果字符是字母if char.islower(): # 如果是小写字母# 使用前一个大写字母替换result += chr((ord(char) - ord('a') - 1) % 26 + ord('A')) else: # 如果是大写字母# 使用前一个小写字母替换result += chr((ord(char) - ord('A') - 1) % 26 + ord('a')) elif char.isdigit(): # 如果是数字result += str((int(char) - 1) % 10) # 数字减1else: # 其他字符result += char # 保持不变return result# 输入
input_string = input()
encrypted_string = input()# 加密和解密
encrypted_result = encrypt_string(input_string)
decrypted_result = decrypt_string(encrypted_string)# 输出
print(encrypted_result)
print(decrypted_result)