-2

我决定和朋友一起做一个代码,并希望能够用这个程序破解(解码)它。基本上我想要的是一个词等于另一个词,例如“be”这个词将在程序中显示为“ok”这个词。

所以我有 raw_input 来输入要破解的单词。假设我在句子中输入了“嗨朋友”,我将如何让它出来,例如“狗疯了”。另外,如果我输入“狗疯了”来作为“嗨朋友”出来。

对不起,如果这很难理解,但我不知道如何解释得很好。

我正在使用 Python 2.7.3。谢谢。

4

2 回答 2

0
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())))
于 2013-06-14T06:03:11.220 回答
0

基于 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
于 2013-06-14T06:17:15.067 回答