统计一段英文中单词个数为3的单词数
import string
import re
k=string.ascii_letters
s=input('请输入一句话:\n')
print("字母数为3的单词分别为:")
sum=0
#标点符号可以使用string.punctuation
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#当count>3时,结束本循环,提高效率
if( count==3):
sum+=1
print(i)
print("共有%d个"%sum)
运行结果
请输入一句话:
my name is A.he love me,but …,why
字母数为3的单词分别为:
but
why
共有2个
当然这里不仅可以统计3个字母组成的单词的个数,还可以统计任意数目字母组成的单词的个数。只需要将代码中的count的值改变一下既可。