Python循环结构之while循环实现凯撒密码加密
时间: 2024-09-14 20:16:51 浏览: 27
在Python中,凯撒密码是一种简单的替换加密方法,通过将明文中的每个字符按照固定的偏移量向字母表移动来实现加密。使用while循环实现这种加密可以这样操作:
首先,定义一个偏移量(比如3,即每个字母向后挪三位),然后输入原始字符串(明文)。接着,我们创建一个新的空字符串(加密后的密文)并遍历原字符串。
```python
# 定义偏移量
shift = 3
# 输入明文
plaintext = input("请输入明文: ")
# 初始化加密后的密文
ciphertext = ""
# 使用while循环遍历明文
i = 0
while i < len(plaintext):
# 如果字符是字母
if plaintext[i].isalpha():
# 判断大写字母还是小写字母
if plaintext[i].isupper():
new_char = chr((ord(plaintext[i]) - ord('A') + shift) % 26 + ord('A'))
else:
new_char = chr((ord(plaintext[i]) - ord('a') + shift) % 26 + ord('a'))
# 添加到密文中
ciphertext += new_char
else:
# 非字母字符直接添加到密文
ciphertext += plaintext[i]
i += 1
print("加密后的密文为:", ciphertext)
```
在这个例子中,`ord()` 函数用于获取字符的ASCII值,`chr()` 函数用于从ASCII值转换回字符。`%` 运算符确保字母始终在字母表范围内。