使用字典的python镜像字符串
我想编写一个函数mirror(),它接受一个字符串并返回其镜像,但前提是镜像可以用字母表中的字母表示 例如:使用字典的python镜像字符串,python,dictionary,mirroring,mirror,Python,Dictionary,Mirroring,Mirror,我想编写一个函数mirror(),它接受一个字符串并返回其镜像,但前提是镜像可以用字母表中的字母表示 例如: >>> mirror('vow') 'wov' >>> mirror('wood') 'boow' >>> mirror('bed') 'INVALID' 字符串床的镜像不能表示为字符串,因为e的镜像不是有效字符 我写过: def mirror(str): mir={'b':'d','d':'b','o':'o','p':'q
>>> mirror('vow')
'wov'
>>> mirror('wood')
'boow'
>>> mirror('bed')
'INVALID'
字符串床的镜像不能表示为字符串,因为e的镜像不是有效字符
我写过:
def mirror(str):
mir={'b':'d','d':'b','o':'o','p':'q','q':'p','v':'v','w':'w','x':'x'}
for char in str:
while char in mir:
return str[::-1]
return 'INVALID'
我不知道如何用字典等价物替换字符串,以及如何迭代整个字符串。尽管这个问题的质量很差,但这里有一个可行的解决方案:
def mirror(s):
xs = {
"b": "d", "d": "b", "o": "o", "p": "q",
"q": "p", "v": "v", "w": "w", "x": "x"
}
if all([c in xs for c in s]):
return "".join([xs[c] for c in s])
return "INVALID"
print mirror("vow")
print mirror("wood")
print mirror("bed")
示例:
$ python -i foo.py
vow
woob
INVALID
>>>
希望你能从中学到一些东西。这几乎是同一个问题。这可能是某种家庭作业,我认为这很明显,但我不想成为那种说“这看起来像家庭作业”的人,因为一旦有人这么说,下一场雨就来了。