Python生成一个不含回文字符串的字符串

时间:2024-09-30 16:07:08

[本文出自天外归云的博客园]

回文字符串介绍

回文字符串就是对称的字符串,例如:

“ABA”

“ABBA”

“ABCBA”

题目

给定一个字符串,请发明一种方法,让字符串中不包含回文字符串。

我的解法

代码如下:

class NoHuiwen(object):
def __init__(self, _str):
self._str = _str
self.ret = "" def no_huiwen(self):
for i in self._str:
self.ret += i
self.kill_huiwen(self.ret)
print("最终结果:"+self.ret) def kill_huiwen(self,ret):
_len = len(ret)
print(ret)
if _len == 1:
pass
else:
for i in range(0,len(ret)):
_str = ret[i:len(ret)]
print("_str:"+_str)
if self.judge_huiwen(_str):
self.ret = self.ret[:-1]
break def judge_huiwen(self,_str):
if len(_str) >= 2:
_len = len(_str)
if _len % 2 == 0:
qianban = _str[0:_len//2]
houban = _str[_len//2:_len]
else:
qianban = _str[0:_len//2]
houban = _str[(_len//2)+1:_len]
print("qianban:"+qianban)
print("houban:"+houban)
if qianban == houban[::-1]:
return True
else:
return False
else:
return False if __name__ == '__main__':
_str = "123443absba2345467876"
f = NoHuiwen(_str)
f.no_huiwen()

运行结果:

Python生成一个不含回文字符串的字符串