现有如下加密规则,内容遇到英文字符则往后移5位(比如a,加密后就变为f.请编写程序,实现文本加密功能,输入“Hello world!”,将加密结果输出。
时间: 2024-03-17 14:40:09 浏览: 70
好的,根据您的要求,我用 Python 编写了一个文本加密程序。以下是代码:
```python
def encrypt(text):
result = ""
for char in text:
if char.isalpha():
if char.isupper():
result += chr((ord(char) + 5 - 65) % 26 + 65)
else:
result += chr((ord(char) + 5 - 97) % 26 + 97)
else:
result += char
return result
text = "Hello world!"
encrypted_text = encrypt(text)
print(encrypted_text)
```
程序的逻辑很简单,就是遍历输入的文本中的每个字符,如果是英文字母则按照规则进行加密,否则直接拼接。其中,`ord()` 函数可以将字符转换成 ASCII 码,`chr()` 函数可以将 ASCII 码转换成字符。
运行程序后,输出的加密结果为:`Mjqqt btwqi!`。
相关问题
编写一个文本加密程序,将英文文本文件in.txt加密成out.txt,加密方法是A->Z,B->Y,…Z->A,a->z,b->y,…z->a其他字符不加密
以下是Python实现的加密程序:
```python
input_file = "in.txt"
output_file = "out.txt"
# 定义加密函数
def encrypt_char(c):
if c.islower():
return chr(219 - ord(c))
elif c.isupper():
return chr(155 - ord(c))
else:
return c
# 读取输入文件并加密
with open(input_file, "r") as f:
input_text = f.read()
encrypted_text = "".join([encrypt_char(c) for c in input_text])
# 写入输出文件
with open(output_file, "w") as f:
f.write(encrypted_text)
```
该程序读取输入文件中的文本,对每个字符进行加密处理,然后将加密后的文本写入到输出文件中。加密规则如题目所述,对于大写字母,将其转变为对应的倒数第二个字母,而对于小写字母,则将其转变为对应的倒数第二十个字母。其他字符不做处理。
阅读全文