提取歌词中的全部英文歌词,存入列表English中,每行歌词为一个列表元素。加密变换,每个字母,都用位于字母表中其后第2个位置的字母替换,即a用c换,b替换为d,y替换为a,z替换为b,大写字母类似处理,用后2位的大写字母替换,按行打印变换后的结果
时间: 2023-06-18 14:06:15 浏览: 267
假设歌词保存在名为"lyrics.txt"的文件中,可以使用以下代码实现:
```python
# 定义字母表
alphabet = 'abcdefghijklmnopqrstuvwxyz'
# 读取歌词文件
with open('lyrics.txt', 'r') as f:
lines = f.readlines()
# 提取英文歌词
English = []
for line in lines:
# 去除行末换行符
line = line.strip()
# 判断当前行是否为英文歌词
if all(c.lower() in alphabet for c in line):
English.append(line)
# 加密变换
def encrypt(text):
result = ''
for c in text:
if c.lower() in alphabet:
index = alphabet.index(c.lower())
if c.islower():
result += alphabet[(index + 2) % 26]
else:
result += alphabet[(index + 2) % 26].upper()
else:
result += c
return result
# 打印变换后的结果
for line in English:
print(encrypt(line))
```
上述代码中,首先定义了字母表alphabet,然后通过读取文件和判断每行歌词是否为英文歌词,提取出全部英文歌词并保存在列表English中。接着定义了加密函数encrypt,实现了对每个字母的加密变换。最后,遍历英文歌词列表,对每行歌词进行加密变换并打印输出。
阅读全文