Python镜像字符串函数

标签 python string python-3.x

我正在尝试开发一个函数mirror(),它接受一个字符串并返回其镜像字符串,但前提是镜像字符串可以使用给定字符串中的“镜像”字母表示。

例如,

>>>mirror('vow')
'wov'
>>>mirror('wood')
'boow'
>>>mirror('bed')
'INVALID'

也就是说,镜像的bd。字母 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/

相关文章:

Python——如何查看不适合屏幕的输出?

php - 如何将此 javascript 函数转换为 PHP?

python - 防止 TextIOWrapper 以 Py2/Py3 兼容的方式关闭 GC

python - 当有多个变量时使用lambda在python数据帧中实现if-else

python - Seaborn 热图不断在数据集上循环添加颜色条

python - 在 python 中在另一个类中创建一个类的正确方法?

带有 lambda fuctoin 的 python3 过滤器对象

java - 在Java中的字符串中的特定位置添加特定字符

JavaScript - 从优化的 Angular 来看,应该如何用不同的字符串替换字符串中的多个子字符串?

python-3.x - 如何获取Youtube API每日配额使用情况?