分类:字符变换
知识点:
-
字符是字母 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) # 数字加1
else: # 其他字符
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) # 数字减1
else: # 其他字符
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)