需要字符串作为左操作数,而不是反转的E

2024-05-17 02:37:30 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我目前的代码:

def mirror(s, v, m):
    rev = reversed(v)
    if(v in s):
         if(rev in s):
              if(m in s):
                  return True
    return False
str1 = "abcmcba"
str2 = "abc"
str3 = "m"
mirror(str1, str2, str3)

它应该返回为真,但不断给我错误: 需要字符串作为左操作数,不能反转


Tags: 代码infalsetruereturnifmirrordef
3条回答

好吧,我修好了,我改了:

 rev = reversed(v)

rev = v[::-1]

您可以将该功能简化为:

def mirror(s, v, m):
    return m in s and v in s and v[::-1] in s

注意,我把最快的检查放在第一位,这样就不会浪费时间在较慢的操作上,除非它们是必要的。你知道吗

实际上,reversed并不返回字符串,而是返回一个生成器迭代器。你知道吗

试试这个:

rev = ''.join(reversed(v))

相关问题 更多 >