用python实现凯撒密码。要求:由用户输入明文和位移量
时间: 2024-05-06 16:22:08 浏览: 177
,输出密文。
代码如下:
```python
plaintext = input("请输入明文:")
shift = int(input("请输入位移量:"))
ciphertext = ""
for i in plaintext:
if i.isalpha():
if i.isupper():
ciphertext += chr((ord(i) - 65 + shift) % 26 + 65)
else:
ciphertext += chr((ord(i) - 97 + shift) % 26 + 97)
else:
ciphertext += i
print("密文为:", ciphertext)
```
代码解析:
首先,我们从用户输入中获取明文和位移量,分别赋值给`plaintext`和`shift`变量。
然后,我们定义一个空字符串`ciphertext`来存储密文。
接下来,我们遍历明文中的每个字符。如果该字符是字母,我们就对其进行加密操作。如果该字符是大写字母,我们将其转换为ASCII码并减去65,再加上位移量,最后对26取余并加上65,得到密文中对应的字符。如果该字符是小写字母,我们将其转换为ASCII码并减去97,再加上位移量,最后对26取余并加上97,得到密文中对应的字符。如果该字符不是字母,我们直接将其加入到密文中。
最后,我们输出密文。
例如,当用户输入明文为"hello world",位移量为3时,程序会输出密文为"khoor zruog"。
阅读全文