【发布时间】:2016-01-05 10:33:50
【问题描述】:
我有一个文件 (secret_message.txt),类似于:
Yap Cat Hat
Two Ants Like Two Ant Like Kids
Ants Like Cat Two
我想单独阅读每一行并只替换一次:
Yap with Y
Cat with O
Hat with U
Two with T
Ants with A
Like with L
Kids with K
同时忽略重复的单词,使得输出文件读取:
YOU
TALK
ALOT
不过,我计划在以后的消息中重复使用相同的密码语言,因此我不需要每次都重新制作新的翻译词典。
任何关于如何最有效地做到这一点的建议将不胜感激!
以下是我尝试过的:
#!/usr/bin/env python
import os
import glob
import fileinput
filename = 'secret_message.txt'
with open(filename,'r') as f:
f2 = f.read().split('\n')
for line in f2:
f3 = line.replace("Yap","Y",1)
f3 = line.replace("Cat","O",1)
f3 = line.replace("Hat","U",1)
f3 = line.replace("Two","T",1)
f3 = line.replace("Ants","A",1)
f3 = line.replace("Like","L",1)
f3 = line.replace("Kids","K",1)
with open('secret_answer.txt', 'w') as f:
f.write(f3)
【问题讨论】:
-
你使用什么语言?
-
我认为您的密码无法处理包含多个相同字母实例的单词,例如“happy”。
-
你试过了吗?
-
@TigerhawkT3 其实这不是问题,我只需要能够将“happy”替换为我选择的单个字母,例如“U”
-
我的意思不是像“Yap Cat Happy”那样,我的意思是你的密码将如何拼出像“你在密码中说话”这样的短语? “秘密”这个词有两个 E。