python实验九:查找句子中含有3个单词的程序

1.方法1:最开始本能的想法

import string
part=input(‘请输入一句话:\n‘)
#s="!!.,‘;??"#$%&'()**+,-/:;<<=>=>@[\]^_`{|}~?????、〃》「」『』【】〔〕〖〗?????〝〞????–—‘‘?“”„?…?﹏."
s=string.punctuation
for i in part:
    for j in i:
        if j in s:
            part=part.replace(j,‘‘)#先去标点符号
#print(part)       
part1=part.split(‘ ‘)#再分割单词
for i in part1:
    if len(i)==3:
        print(i,end=‘ ‘)

2.法2:  wmx同学帮我改的,更简洁了一些,虽然方法不太一样,但是作用却是一致的。

import re
part=input(‘请输入一句话:\n‘)        
#print(part)       
part1=re.split(‘‘‘[!"#$%‘&\()*+,-.<=>[\\]^_`{|}~ ]‘‘‘,part)#是以标点符号作为分隔符分割
for i in part1:
    if len(i)==3:
        print(i,end=‘ ‘)

3.  法3:wmx同学单词计数的方法

import re
k=string.ascii_letters
s=input(‘请输入一句话:\n‘)
print("字母数为3的单词分别为:")
sum=0
s=re.split("""[!"#$%&\()*+,-.<=>[\\]^_`{|}~ ]""",s)#为了防止把I‘m之类的分开,                                                 #已经去掉了标点符号‘
for i in s:
    count=0  
    for j in i:
        if (j in k):
            count+=1
            if (count>3):
                continue
    if( count==3):
        sum+=1
        print(i)
print("共有%d个"%sum)

相关推荐