【问题标题】:python mirroring string using dictionary [duplicate]使用字典的python镜像字符串[重复]
【发布时间】:2014-07-09 14:01:36
【问题描述】:

我想编写一个函数 mirror(),它接受一个字符串并返回其镜像,但前提是镜像可以使用字母表中的字母表示。

例子:

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

字符串bed的镜像不能表示为字符串,因为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'

我不知道如何用字典等价物替换字符串字符以及如何迭代整个字符串。

【问题讨论】:

  • 其实是同一个问题。
  • 这可能是某种家庭作业
  • 我认为这很明显,但我不想成为那种说“这看起来像家庭作业”的人,因为一旦有人这么说,反对票就会如雨后春笋般涌现。

标签: python dictionary mirroring mirror


【解决方案1】:

尽管这个问题的质量很差,但这里是一个可行的解决方案:

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
>>>

希望你可以从中学到一些东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 2016-02-03
    • 2021-12-11
    • 2021-04-06
    • 1970-01-01
    相关资源
    最近更新 更多