加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 包含大多数“o”字符的单词

发布时间:2020-12-20 13:03:29 所属栏目:Python 来源:网络整理
导读:我需要编写一个 Python函数,它返回字符串中带有最大数字“o”字符的单词.例如,get_most_ooo_word([‘aa ao ooo’])应该返回[‘ooo’]并且get_most_ooo_word([‘aa ao oa aaaooo aooqq aoooq’])应该返回[‘aaaooo’,’aoooq’]. 我试过这个: def get_most_o
我需要编写一个 Python函数,它返回字符串中带有最大数字“o”字符的单词.例如,get_most_ooo_word([‘aa ao ooo’])应该返回[‘ooo’]并且get_most_ooo_word([‘aa ao oa aaaooo aooqq aoooq’])应该返回[‘aaaooo’,’aoooq’].

我试过这个:

def get_most_ooo_word(words):
   k=0
   for i in range(len(words)-1):
      if words[i].count('o')>words[i-1].count('o'):
         k=words[i]
   return(k)

问题是这个列表只包含1个元素 – 整个字符串 – 我不知道如何在这个列表中分隔单词.

upd:实际上,任务中有一个错误:输入应该是一个字符串,而不是一个列表

解决方法

此解决方案允许多行作为输入,因为我检查了您的输入是一个列表.

def get_most_ooo_word(lines):
    k = -1
    most_o = []
    for line in lines:
        phrase_words = line.split()
        for word in phrase_words:
            c = word.count('o')
            if c > k:
                k = c
                most_o = [word]
            elif c == k:
                most_o.append(word)
    return most_o


print(get_most_ooo_word(['aa ao ooo']))
print(get_most_ooo_word(['aa ao oa    aaaooo aooqq aoooq']))
print(get_most_ooo_word(['aa ao ooo','aa ao oa aaaooo aooqq aoooq']))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读