所以我们得到了一个60万字符的文本,没有空格和句号。我已经把这些从课文中删除了。现在我要找到所有长度大于7的回文,我需要一些帮助来完成。你知道吗
我已经试过一件事了,但是太慢了。你知道吗
from string import ascii_letters, digits
s = open("pg1150.txt").read()
s = s.lower()
s = "".join([c for c in s if c in ascii_letters or c in digits])
for i in range(len(s)):
for j in range(i + 6, len(s) + 1):
t = s[i:j]
if t == t[::-1]:
print(t)
注意,如果字符串s0…sn是回文,那么s1…sn-1也是回文
简言之,遍历文件,搜索每个长度为7和8的有效回文(感谢@tobias\u k指出,否则只能得到奇数回文),但不要打印它,而是将其索引保存到一个单独的列表中。你知道吗
现在您已经有了所有未来回文的“基础”,可以很容易地使用前面提到的递归关系来构建所有其他回文。你知道吗
相关问题 更多 >
编程相关推荐