Python,while循环实现凯撒密码加密,密码只能为大写字母,原密码和偏移量都通过input函数获取。需要考虑边界效应,如果密码超过了Z,则重新用A、B、C…表示。
时间: 2024-09-23 15:05:28 浏览: 66
在Python中,你可以使用`while`循环结合字符串操作实现凯撒密码加密。首先,我们需要获取用户的输入——原始密码和偏移量,然后利用`ord()`函数将字母转换成ASCII码,进行加密处理后再转回字符。这里是一个简单的示例:
```python
def caesar_cipher_encrypt():
# 获取用户输入
original_text = input("请输入原始密码(仅限大写字母):")
shift = int(input("请输入偏移量:"))
encrypted_text = ""
for char in original_text:
if char.isupper(): # 检查是否为大写字母
original_ascii = ord(char) # 转换为ASCII码
new_ascii = (original_ascii - 65 + shift) % 26 + 65 # 加密处理(考虑边界)
encrypted_text += chr(new_ascii) # 将ASCII码转换回字符并添加到结果
else:
print(f"警告:字符 '{char}' 不是大写字母,跳过此字符。")
return encrypted_text
encrypted_message = caesar_cipher_encrypt()
print(f"加密后的信息是:{encrypted_message}")
阅读全文