为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算和打印文件中的所有回文词

如何计算和打印文件中的所有回文词

守着星空守着你 2022-01-18 17:08:30
我正在尝试检查文件的单词是否是回文,如果是,那么它应该打印这些单词及其总数。但是当我运行代码时,它没有显示结果。请帮我解决一下这个。def findPalindrome():     list3=list()     for line in open("English.txt"):         list1 = line.strip()         list2 = list1.split()     for x in list2:         if isPalindrome(x):         list3.append(x)      return list3 它应该打印文本文件中的所有回文词,加上它们的计数。
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

你已经完成了:


from collections import Counter


def isPalindrome(s): 

    if (s == s[::-1] ): return True

    else: return False


def findPalindrome(): 

    list3=list() 

    for line in open("English.txt"): 

        list1 = line.strip() 

        list2 = list1.split() 

        for x in list2:

            if isPalindrome(x): 

                list3.append(x) 


    return list3 


palim_list = findPalindrome()

palim_counts = Counter(palim_list)

print palim_list

print palim_counts


查看完整回答
反对 回复 2022-01-18
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

看起来你让事情复杂化了,要从列表中的文件中获取所有回文,你可以迭代它的空行剥离内容并检查字符串是否等于它的反转表示:


一些文件:


kaak

okay

tired

alot

acca

因此:


res = []

with open('someFile.txt', 'r') as fObj:

    content = [l.strip() for l in fObj.readlines() if l.strip()]    

    for line in content:

        if line == line[::-1]:

            res.append(line)

print(res)

输出:


['kaak', 'acca']


查看完整回答
反对 回复 2022-01-18
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信