Airuio 2020-04-25
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)