目录
问题
统计在某段英文文本中完整句子的数目,文本中只包括大小写字母、空格、点号(.)、逗号(,)。
注意:完整的句子必须包含至少一个字母并以点号结束。
解题思路
分析:主要是对注意部分的内容进行思考实现。字母集合的生成方法算是关键考点才是,即ord()和chr()函数的配合使用
本题的详细步骤,其实比较简单:
1)大小写字母集合的生成。
2)一个完整的句子的判断。题目中要求说:完整的句子必须包含至少一个字母并以点号结束。因此使用句点拆分英文句段,然后判断,拆分得到的字符串,一旦其中有字母出现,则句子数加一,判断下一个字符串。
python具体实现
def countSentence(sentence):
"""
:type sentence:str
:rtype:int
"""
# 大小写字母集合的生成
alpha = [chr(i) for i in range(ord('a'),ord('z')+1)]
ALPHA = [chr(i) for i in range(ord('A'),ord('Z')+1)]
A_S = alpha + ALPHA
count = 0 # 句子数记录
sentList = sentence.split('.')# 使用'.'拆分句子
for s in sentList:
for i in range(len(s)):
if s[i] in A_S:
count +=1
break
return count
# 测试
sentence = 'abc a in ,.jkd. a . .'
print(countSentence(sentence))
题外记
ord()和chr()函数,才是本体最大的考点,原谅我对这两个函数的遗忘。
1)ord函数将字符转换为整数显示
2)chr函数将整数转换为字符显示