输入一行电文,已按下面规律译成密码: A->Z a->z B->Y b->y C->X c->x 即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程序将密码译回原文,并输出原文。
时间: 2024-12-04 07:21:16 浏览: 29
ADS-B报文解析
4星 · 用户满意度95%
这是一个简单的字符替换加密问题,可以通过编程遍历输入的电文字符串,根据给定的规则将其转换回原始文本。以下是使用Python的一个简单实现:
```python
def decrypt(ciphertext):
plaintext = ""
for char in ciphertext:
if char.isalpha():
# 判断大写字母和小写字母对应的解密规则
if char.isupper():
plaintext += chr((ord(char) - ord('A') + 25) % 26 + ord('A'))
else:
plaintext += chr((ord(char) - ord('a') + 25) % 26 + ord('a'))
else:
plaintext += char # 非字母字符保持原样
return plaintext
# 示例输入
ciphertext = "Khoor Zruog"
decrypted_text = decrypt(ciphertext)
print("原文:", decrypted_text)
```
在这个例子中,`decrypt`函数接受一个密文作为参数,通过计算每个字符的新位置并转换回相应的字母,然后添加到解密后的字符串`plaintext`中。
阅读全文