编写一个文本加密程序,将英文文本文件in.txt加密成out.txt, 加密方法是A->Z,B -> Y,…,a -> z,b -> y,⋯z->a,其他字符不加密
时间: 2023-07-15 19:15:52 浏览: 96
可以使用 Python 编写一个文本加密程序,代码如下:
```python
# 打开输入文件和输出文件
with open("in.txt", "r") as fin, open("out.txt", "w") as fout:
# 逐行读取输入文件
for line in fin:
# 对每个字符进行加密
encrypted_line = ""
for c in line:
if c.isalpha():
if c.isupper():
encrypted_line += chr(ord('Z') - ord(c) + ord('A'))
else:
encrypted_line += chr(ord('z') - ord(c) + ord('a'))
else:
encrypted_line += c
# 写入输出文件
fout.write(encrypted_line)
```
这个程序会将输入文件 `in.txt` 中的英文文本加密成输出文件 `out.txt`,加密方法是 A->Z, B->Y, ..., a->z, b->y, ..., z->a,其他字符不加密。可以根据实际需要修改输入文件和输出文件的文件名。
相关问题
用python编写一个文本加密程序,将英文文本文件in.txt加密成out.txt,加密方法是A->Z,B->Y,…Z->A,a->z,b->y,…z->a,其他字符不加密。
下面是一个简单的Python程序,可以将英文文本文件in.txt加密成out.txt,加密方法是A->Z,B->Y,…Z->A,a->z,b->y,…z->a,其他字符不加密。代码如下:
```python
# 打开输入文件
with open('in.txt', 'r') as fin:
# 读取文件内容
text = fin.read()
# 定义加密映射表
mapping = str.maketrans(
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba')
# 加密文本
encrypted_text = text.translate(mapping)
# 打开输出文件
with open('out.txt', 'w') as fout:
# 写入加密后的文本
fout.write(encrypted_text)
```
该程序首先打开输入文件in.txt,读取文件内容到变量text中。然后定义一个加密映射表mapping,使用Python内置函数str.maketrans来生成映射表,将A->Z,B->Y,…Z->A,a->z,b->y,…z->a。接着使用Python内置函数str.translate函数,将文本text加密成encrypted_text。最后打开输出文件out.txt,将加密后的文本写入文件中。
编写一个文本加密程序,将英文文本文件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)
```
该程序读取输入文件中的文本,对每个字符进行加密处理,然后将加密后的文本写入到输出文件中。加密规则如题目所述,对于大写字母,将其转变为对应的倒数第二个字母,而对于小写字母,则将其转变为对应的倒数第二十个字母。其他字符不做处理。
阅读全文