编写一个文本加密程序,将英文文本文件in.txt加密成out.txt,加密方法是A->Z,B->Y,…Z->A,a->z,b->y,…z->a,其他字符不加密。
时间: 2024-02-03 22:13:45 浏览: 126
以下是Python 3的实现代码:
```python
# 打开输入文件和输出文件
with open("in.txt", "r") as f_in, open("out.txt", "w") as f_out:
# 读入输入文件的内容
text = f_in.read()
# 定义加密映射表
mapping = str.maketrans(
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
"ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba"
)
# 加密文本并写入输出文件
encrypted_text = text.translate(mapping)
f_out.write(encrypted_text)
```
首先,我们使用Python的`with`语句打开输入文件和输出文件,这样就可以在代码块结束时自动关闭文件。然后,我们使用`read()`方法读入输入文件的内容,并定义一个映射表`mapping`,用于将每个字符映射成加密后的字符。`str.maketrans()`方法可以根据两个字符串生成一个映射表。最后,我们使用`translate()`方法将文本中的每个字符根据映射表进行加密,并将加密后的文本写入输出文件中。
相关问题
编写一个文本加密程序,将英文文本文件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)
```
该程序读取输入文件中的文本,对每个字符进行加密处理,然后将加密后的文本写入到输出文件中。加密规则如题目所述,对于大写字母,将其转变为对应的倒数第二个字母,而对于小写字母,则将其转变为对应的倒数第二十个字母。其他字符不做处理。
7.编写一个文本加密程序,将英文文本文件in.txt加密成out.txt,加密方法是A->Z,B->Y,…Z->A,a->z,b->y,…z->a,其他字符不加密
以下是 Python 代码实现:
```python
# 打开输入文件和输出文件
with open('in.txt', 'r') as input_file, open('out.txt', 'w') as output_file:
# 读取输入文件的所有内容
input_text = input_file.read()
# 定义加密映射表
mapping = str.maketrans(
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba'
)
# 将输入文本进行加密
encrypted_text = input_text.translate(mapping)
# 将加密后的文本写入输出文件
output_file.write(encrypted_text)
```
在上面的代码中,我们使用了 `str.maketrans()` 方法创建了一个加密映射表,然后使用 `translate()` 方法将输入文本按照映射表进行加密,最后将加密后的文本写入输出文件。
阅读全文