凯撒密码加密没考虑大写字母的问题,参考实例6的思路,完善恺撒密码,实现对英文大小写字母都可以加密。 要求 算法改为顺序加5; 明文如果为小写字母要转换为大写字母,即a加密之后转换为F;反之,A转换之后为f。
时间: 2024-06-12 14:07:27 浏览: 183
php凯撒密码加密和解密---适合加密英文
5星 · 资源好评率100%
```python
def caesar_cipher(text):
result = ''
for char in text:
if char.isalpha():
if char.isupper():
result += chr((ord(char) + 5 - 65) % 26 + 65).lower()
else:
result += chr((ord(char) + 5 - 97) % 26 + 97).upper()
else:
result += char
return result
```
解析:
- `char.isalpha()` 判断字符是否为字母;
- `char.isupper()` 判断字符是否为大写字母;
- `chr()` 将 ASCII 码转换为字符;
- `ord()` 将字符转换为 ASCII 码;
- `%` 取模运算,保证结果在 0~25 的范围内;
- 65 和 97 分别为大写字母 A 和小写字母 a 的 ASCII 码;
- `lower()` 和 `upper()` 分别将字符转换为小写和大写字母。
阅读全文