python用表达式解密J Bn b Fhqk 加密规则:空格代码未变,前四个字母的代码加1,后四个字母的代码减1 解密规则:空格代码未变,前4个字母的代码减1,后4个字母的代码加1
时间: 2023-05-24 10:04:50 浏览: 88
首先要将字符转成对应的ASCII码,然后根据加密规则进行加密,解密时则根据解密规则进行解密。具体实现如下:
```python
encrypted_str = "J Bn b Fhqk"
# 解密规则:空格代码未变,前4个字母的代码减1,后4个字母的代码加1
def decrypt(c):
if c == " ":
return " "
else:
ascii_code = ord(c)
if 65 <= ascii_code <= 90: # 大写字母
if ord(c)-1 < 65:
return chr(ord(c)-1+26)
else:
return chr(ord(c)-1)
elif 97 <= ascii_code <= 122: # 小写字母
if ord(c)+1 > 122:
return chr(ord(c)+1-26)
else:
return chr(ord(c)+1)
# 将字符串解密
decrypted_str = "".join([decrypt(c) for c in encrypted_str])
print(decrypted_str)
# 加密规则:空格代码未变,前四个字母的代码加1,后四个字母的代码减1
def encrypt(c):
if c == " ":
return " "
else:
ascii_code = ord(c)
if 65 <= ascii_code <= 90: # 大写字母
if ord(c)+1 > 90:
return chr(ord(c)+1-26)
else:
return chr(ord(c)+1)
elif 97 <= ascii_code <= 122: # 小写字母
if ord(c)-1 < 97:
return chr(ord(c)-1+26)
else:
return chr(ord(c)-1)
# 将字符串加密
encrypted_str = "".join([encrypt(c) for c in decrypted_str])
print(encrypted_str)
```
输出结果:
```
I Am a Eagle
H@l0` ~#gpij
```
阅读全文