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函数将整数转换为字符显示

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据引用的代码,可以看出该代码实现了获取数组的所有子集。该函数接收一个原始数组originArray作为参数,并返回一个包含所有子集的列表。通过遍历原始数组,将每个元素加入到已有的子集,并将新的子集添加到结果集。最后将结果集输出。 根据引用的代码可以看出,通过浅拷贝的方式实现的函数getArraySubSet存在错误。在对temp进行浅拷贝后,对temp进行修改后,应该将temp赋值给result,而不是result=temp,这样才能将修改后的子集加入结果集。 根据题外引用的代码可以看出,使用set()函数可以创建一个集合。集合是无序且不重复的元素的集合。在代码,通过set()函数将字符串‘spam’和列表[‘h’, ‘a’, ‘m’]转换为集合x和y。 综上所述,根据题目提供的代码和引用内容,可以得出结论:python subset是指使用Python编程语言获取数组的所有子集的过程或结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python实现:数组所有子集的求解(国新日笔试编程题)](https://blog.csdn.net/weixin_42521211/article/details/88086445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Python集合(set)类型的操作总结](https://blog.csdn.net/xiaoyaozi2020/article/details/128573622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

积跬步,慕至千里

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

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

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

打赏作者

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

抵扣说明:

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

余额充值