所以这是我目前的代码:
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)
它应该返回true,但不断给我错误: 需要字符串作为左操作数,而不是反转
答案 0 :(得分:1)
确实,reverse不返回一个字符串,它返回 generator 迭代器。
试试这个:
rev = ''.join(reversed(v))
答案 1 :(得分:1)
您可以将该功能简化为以下内容:
def mirror(s, v, m):
return m in s and v in s and v[::-1] in s
请注意,我已经先进行了最快速的检查,这样就不会浪费时间在慢速操作上,除非它们是必要的。
答案 2 :(得分:0)
好的我修好了,我改变了:
rev = reversed(v)
到
rev = v[::-1]
答案 3 :(得分:-4)
你需要这一行:
rev = str(reverse(v))。join('')
reverse(v)返回一个反向类型的对象...当你与s类型的字符串进行比较时,这会失败。