蓝桥杯504--单词分析(python)

题目描述

小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。

现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。

输入描述

输入一行包含一个单词,单词只由小写英文字母组成。

对于所有的评测用例,输入的单词长度不超过 1000。

输出描述

输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。

第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

输入输出样例

示例 1

输入

lanqiao

输出

a
2

示例 2

输入

longlonglongistoolong

输出

o
6

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M
dc_str = input()  # 创建一个字符串dc_str,并输入单词
num = 0  # 初始化个数
dc_list = []  # 创建列表dc_list,便于后面存放单词
for dc in dc_str:  # 用for循环依次遍历字符串dc_str,用dc来存放所遍历到的字母
    x = dc_str.count(dc)  # 用count函数来统计每个字母的数量
    if x >= num:  # 用if比较出最大的个数
        num = x
for dc in dc_str:  # 再次遍历字符串dc_str
    if dc_str.count(dc) == num:  # 找到拥有最多个数的字母
        dc_list.append(dc)  # 通过append函数,在dc_list列表内添加所找到的字母
dc_list.sort()  # 通过sort函数,将列表dc_list中的字母按字典序排序
print(dc_list[0])  # 输出所找字母
print(num)  # 输出所找字母的个数,亦是最大个数

思路:本题所需的是找出输入的单词中数量最多的字母,并按字典序输出。首先要输入单词(即字符串)输入用的是input函数;单词有了之后还需要知道每个字母的个数,这时就需要用for循环来遍历dc_str这个字符串,依次找到该字符串所含有的字母,同时还要用到count函数,count函数可以统计字符串中某个字母出现的次数;用if比较出最大的个数;找到最大的个数后可以用for循环的遍历反向推出最大个数所含的字母,因为最大的字母可能不是一个,所以我们可以创建一个列表dc_list,通过append函数将其添加到列表dc_list里;又因为需要按字典序输出,所以在这里要用到sort函数进行排序;排序之后列表中的第一个字母就是我们所需要的,将其输出即可。

关于sort函数的用法可参考文本链接:python 的sort()函数详解_qq_20831401的博客-CSDN博客_python sort

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

⚝ ⚝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值