python实现:统计英文文本中完整句子的数目(国新日能笔试编程题)

目录

问题

解题思路

python具体实现

题外记


问题

    统计在某段英文文本中完整句子的数目,文本中只包括大小写字母、空格、点号(.)、逗号(,)。

    注意:完整的句子必须包含至少一个字母并以点号结束。

解题思路

    分析:主要是对注意部分的内容进行思考实现。字母集合的生成方法算是关键考点才是,即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函数将整数转换为字符显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积跬步,慕至千里

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值