博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
checkio-the most wanted letter
阅读量:4147 次
发布时间:2019-05-25

本文共 1654 字,大约阅读时间需要 5 分钟。

给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式,

当检查最想要的字母时,不区分大小写,所以在你的搜索中 “A” == “a”。 请确保你不计算标点符号,数字和空格,只计算字母。
如果你找到 两个或两个以上的具有相同的频率的字母, 返回那个先出现在字母表中的字母。 例如 – “one”包含“o”,“n”,“e”每个字母一次,因此我们选择“e”。
输入: 用于分析的文本 (str, unicode).
输出: 最常见的字母的小写形式。
前提::
密码只包含ASCII码符号
0 < len(text) ≤ 105

import collectionsimport string#import redef checkio(text):    text1=[]    text=text.lower()                       #将大写转换为小写字母    text=filter(str.isalpha,text)           #去掉text字符串中非字母的字符    text1=list(text)                        #将text转换为list    #b=collections.Counter(text1)    b=collections.Counter(text1).most_common() #返回的是一个字典,common(k)里面的k是多少就返回一个列表,最常出现的几个字符,k空就返回全部    n_text=[]    n_text2=[]    x=b[0][1]    for i in range(0,len(b)):        if b[i][1]==x:            n_text.append(b[i][0])    n_text2=list(set(n_text))               #去掉list中重复的元素    n_text2.sort()                          #将n_text2排序,默认从小到大    return n_text2[0]    #replace this for solutionif __name__ == '__main__':    #These "asserts" using only for self-checking and not necessary for auto-testing    assert checkio("Hello World!") == "l", "Hello test"    assert checkio("How do you do?") == "o", "O is most wanted"    assert checkio("One") == "e", "All letter only once."    assert checkio("Oops!") == "o", "Don't forget about lower case."    assert checkio("AAaooo!!!!") == "a", "Only letters."    assert checkio("abe") == "a", "The First."    print("Start the long test")    assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."    print("The local tests are done.")

基本思想是将字符串转换成列表,按照字符出现次数排列,取出出现次数最多的那一个或几个字符。然后出现次数为max的字符全部append进n_text2列表。

然后在n_text2中去掉重复的字符,sort排序。输出n_text2[0]

转载地址:http://cjvti.baihongyu.com/

你可能感兴趣的文章
Oracle 分组排序函数
查看>>
删除weblogic 域
查看>>
VMware Workstation 14中文破解版下载(附密钥)(笔记)
查看>>
日志框架学习
查看>>
日志框架学习2
查看>>
SVN-无法查看log,提示Want to go offline,时间显示1970问题,error主要是 url中 有一层的中文进行了2次encode
查看>>
NGINX
查看>>
Qt文件夹选择对话框
查看>>
DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
查看>>
DeepLearning tutorial(6)易用的深度学习框架Keras简介
查看>>
DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
查看>>
流形学习-高维数据的降维与可视化
查看>>
Python-OpenCV人脸检测(代码)
查看>>
python+opencv之视频人脸识别
查看>>
人脸识别(OpenCV+Python)
查看>>
6个强大的AngularJS扩展应用
查看>>
网站用户登录系统设计——jsGen实现版
查看>>
第三方SDK:讯飞语音听写
查看>>
第三方SDK:JPush SDK Eclipse
查看>>
第三方开源库:imageLoader的使用
查看>>