python将所有长度为偶数单词计数

定义一个名为Read_count_even_String_Length_in_file(filename),它以文件名为参数,读取参数文件中的所有单词,并返回文件中具有偶数字符串长度的所有单词的计数。该文件包含由空格分隔的单词。例如,如果参数文件包含:Hans loved to make up stories.He would sit for hours in the tiny yard.
然后,函数返回8,因为有8个字符串长度为偶数的单词(即,它们是Hans、to、make、up、He、in、tiny、yard)。
注意:可以假设参数文件不是空的。记得正确关闭文件。

img


def Read_count_even_String_Length_in_file(filename):

img


def Read_count_even_String_Length_in_file(filename):
    f=open('1.txt')
    n=0
    for line in f:
        words=line.split('.')
        
        for i in words:
            i=i.split(' ')
            for j in i:
                if len(j)%2==0:
                
                    n+=1
    return(n-1)

data=Read_count_even_String_Length_in_file('1.txt')
print(data)

import re
def Read_count_even_String_Length_in_file(filename):
    count =0
    with open(filename,'r',encoding='utf-8') as f1:
        fnosign = re.sub(r"[^A-Za-z]", " ", f1.read())
        for one in fnosign.split(' '):
            if len(one) %2 ==0 and len(one)!=0:
                #print(strs)
                count+=1 
    return count
print(Read_count_even_String_Length_in_file('test.txt'))

def Read_count_even_String_Length_in_file(filename):
    str1=''
    with open(filename,'r',encoding='utf-8') as file:
        for line in file:
            str1+=line
    a=str1.split(' ','.')
    b=[i for i in a if len(i)>0 && len(i)%2==0]
    return len(b)

语法糖: word = sum(word,[]) # 使二维数组word降维

def Read_count_even_String_Length_in_file(filename):
    with open(filename,'r') as f:
        data = f.read()
    data = data.replace(',','').replace('.','').replace('?','')
    word = [s.split() for s in data.split('\n') if s]
    return len([w for w in sum(word,[]) if len(w)%2==0])

print(Read_count_even_String_Length_in_file('word.txt'))
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632