Python 返回一句话中出现次数最多的单词

# (15分)
# 1.返回一个字符串中出现次数最多的单词
# 2.字符串中可能有英文单词、标点、空格



def max_count_word(s):
    n = 0                               #记录下标
    lt = []                             #定义列表,存取数据
    for i in range(len(s) - 1):         #遍历字符串
        if(not ((ord(s[i]) >= 97 and ord(s[i]) <= 122) or (ord(s[i]) >= 65 and ord(s[i]) <= 90))):#判断是否英文字母
            if i > n:                   #防止出现连续不是英文字母的情况
                lt.append(s[n:i])       #当出现非英文字母时,截取字符串进入列表
            n = i + 1                   #更新下标值

    if ((ord(s[-1]) >= 97 and ord(s[-1]) <= 122) or (ord(s[-1]) >= 65 and ord(s[-1]) <= 90)):#判断字符串的结尾是否写标点
        lt.append(s[n:])                #如果最后没写标点的话,应加上最后的单词

    for j in range(len(lt) - 1):        #遍历,根据字符串出现的次数进行从大到小的排序
        for k in range(len(lt) - j - 1):
            if(lt.count(lt[k]) < lt.count(lt[k + 1])):
                t = lt[k]
                lt[k] = lt[k + 1]
                lt[k + 1] = t

    return lt[0]                        #返回lt[0],即为最多出现的单词
    #若需要返回出现次数第二多的单词
    #return lt[lt.count(lt[0])]


#测试代码
s = 'You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.'

print(max_count_word(s))
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值