在这里,我想找出字符串中所有可能的回文。你知道吗
回文含义:-a前后读相同的单词、短语或顺序
例如,夫人或修女。你知道吗
所以我拿了根绳子。把它分成一个列表。然后一次获取列表中的每个元素。然后对所有元素进行组合,直到列表的最后一个元素。你知道吗
a=str(input("enter the string:-"))
b=a.split()
for i in range(len(b)):
for j in range(i+1,len(b)):
t=b[i:j]
r=t.reverse()
if t == r:
print(t)
即使我写了尽可能合乎逻辑的代码,也不能得到任何输出
为了示例:-你知道吗
如果a="Rotator"
你知道吗输出:-你知道吗
tat
otato
如果可能的话还有很多。你知道吗
我找不到哪里出错了,也找不到哪里有漏洞。你知道吗
恭喜你把中心逻辑弄对了(有适当条件的两个for循环)得到了回文。你知道吗
既然你要我们找出错误,我想我能找出两个错误。 第一
我想,也许,你打算把所有字符分开,一次一个字符。但是,split()将查找分隔符,在您的情况下,它是None。根据官方文件“如果sep未指定或无,则采用不同的分割算法”。那个算法不符合你的要求。你知道吗
如果您只想将字符串中的字符分隔成一个列表,那么只需执行以下操作即可。你知道吗
第二个问题:代码中发生的事情是,b是一个具有单个成员(字符串本身)的列表。在定义了b之后,您可以通过键入以下行来检查它
这意味着b的长度是1。这又意味着执行进入第一个循环,但不进入第二个循环,因为条件是range(1,1),这意味着一个空列表!你知道吗
我对你的代码做了一些小改动并检查了一下。看起来它给了你想要的结果。你知道吗
当我为嵌入回文“rotator”的“xyzrotatorabc”运行上述代码时,得到了以下输出。你知道吗
我不确定我是否有什么帮助(对于你要求的问题)。你知道吗
程序有两个缺陷:
reversed
。在这里,您将数组与无进行比较。你知道吗固定程序
输出:
首先,不需要将字符串转换为字符列表 在这里,您试图将字符串转换为字符列表,但sting上的split方法不会提供所需的字符列表。为此,你必须告诉我们
list(s)
。相反,最好的方法是String Slicing
。你知道吗下面的代码片段将给出确切的想法。你知道吗
在提供字符串
madam
时,会产生如下输出:相关问题 更多 >
编程相关推荐