我正在尝试开发一个函数mirror()
,它接受一个字符串并返回其镜像字符串,但前提是镜像字符串可以使用给定字符串中的“镜像”字母表示。
例如,
>>>mirror('vow')
'wov'
>>>mirror('wood')
'boow'
>>>mirror('bed')
'INVALID'
也就是说,镜像的b
是d
。字母 e
没有任何镜像等效项。
到目前为止我已经开始了
def mirror(s):
return str[::-1]
如何扩展它以适用于整个单词?
最佳答案
首先,你应该有一个字典,存储每个字符的镜像。
mirrored = {'b': 'd', 'd': 'b', 'v': 'v', ...}
因此,对于我们需要生成镜像的每个字符串,您应该检查给定字符串中的每个字符在字符串本身中是否都有其镜像值。
given_string = input()
valid = True
for char in given_string:
if not mirrored[char] in given_string:
valid = False
break
if valid:
# generate mirrored string
您使用的反转字符串方法是正确的。只需添加上面的检查,您就可以生成镜像字符串了!
另一种方法是使用简单的 Python hack 的 for
...else
given_string = input()
valid = True
for char in given_string:
if not mirrored[char] in given_string:
break
else:
# generate mirrored string
关于Python镜像字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19760995/