我决定和朋友一起做一个代码,并希望能够用这个程序破解(解码)它。基本上我想要的是一个词等于另一个词,例如“be”这个词将在程序中显示为“ok”这个词。
所以我有 raw_input 来输入要破解的单词。假设我在句子中输入了“嗨朋友”,我将如何让它出来,例如“狗疯了”。另外,如果我输入“狗疯了”来作为“嗨朋友”出来。
对不起,如果这很难理解,但我不知道如何解释得很好。
我正在使用 Python 2.7.3。谢谢。
import operator
mapping={
'hi': 'dog',
'friend': 'crazy',
}
for k,v in list(mapping.items()):
mapping[v]=k
print(' '.join(map(lambda w: mapping.get(w,w),input().split())))
基于 simonzack 的想法,但有一些改进和修复。
mapping = {
'hi': 'dog',
'friend': 'crazy',
}
# Add to mapping dog->hi and friend->crazy automatically.
mapping.update({v:k for k, v in mapping.items()})
# Convert using mapping.
print(' '.join([mapping.get(w, w) for w in raw_input().split()]))
已验证:
% python sol.py
hello crazy friend
hello friend crazy
% python sol.py
crazy dog
friend hi