我试图做到这一点,所以某事与Python 2.7.3相同

时间:2013-06-14 05:53:36

标签: python words

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

所以我有了raw_input来把这些词放进去。假设我把句子写成“嗨朋友”,我怎么能把它作为例如“狗疯狂”出来。如果我把“狗疯了”作为“嗨朋友”出来的话。

很抱歉,如果这很难理解,但我不确定如何解释它。

我正在使用Python 2.7.3。感谢。

2 个答案:

答案 0 :(得分: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())))

答案 1 :(得分: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