python单词分析 输出第一个出现次数最多的元素及其次数

题目:

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

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

输入:

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

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

输出:

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

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

这个题有很多方法,在这边博客中,我将介绍两种代码块 q(≧▽≦q) 来解决这个问题,我个人比较推荐第一种,第二种没必要这样写,平常也用不着写的这么简短

法一:
  • 从键盘读入数据赋值给word
  • 对word分别进行两次for循环进行遍历
  • 一次获取到元素最大的出现次数是多少
  • 一次获取到出现次数最大的元素,并存储到一个列表中
  • 第二次是for循环获取到的列表,将其对相同的元素进行下标排序,下标小的排序在前面
  • 对结果进行输出
python 复制代码
import os
import sys

# 请在此输入您的代码
# word来存储从键盘输入的字符串数据
print("请输入单词")
word = input()
# a为出现最多的次数
a = 0
# 列表b用来存储出现次数最多的元素
b = []
# 遍历单词
for i in word:
    # 计算每个字母出现的总次数,并赋值给c
    c = word.count(i)
    # print(c)
    # 如果c>=a,即元素出现次数比上一个大的,赋值给a
    if c >= a:
        # a为元素出现的最大次数
        a = c
# 遍历字符串列表
for j in word:
    # 判断是否为出现次数最多的元素
    if word.count(j) == a:
        # 如果是出现次数最多的元素,则把该元素添加到列表b中
        b.append(j)

# 对列表b的元素进行升序排列,排序出现次数一样的字母,将下标小的放在前面
b.sort()
# print(b.sort())
#打印出第一个出现次数最多的元素
print(b[0])
# 打印出元素出现最多的次数
print(a)

还有一种方法,仅需要三行代码就可以完成,但是这三行代码包含的内容比较多,不是很容易思考出来,要求对python的了也得很足 🍭🍭 ,我将努力的写好注释帮助大家理解,虽然但是emm🤣🤣🤣,我感觉我到比赛的时候还是写不出来这个方法(︶^︶),哈哈哈,比赛不推荐这种方法嗷,如果是平常没事练练手倒是可以尝试一波嗷~😁😁😁

法二:
  • 从键盘输入数据,并以列表的形式读取到s中
  • 多次使用sorted函数找出出现次数最多的元素,并排序后取第一个数值赋值给变量m
  • 输出结果,在输出的再次计算变量m出现的次数并输出
python 复制代码
# 从键盘输入数据,并将数据转化为列表的形式写入到 s 中
s=list(input())
# 从列表 s 中找到出现次数最多的字符,并将其赋值给变量 m
# 括号内的sort(s)按照列表s中原来的顺序对s进行排序
# 括号外的sorted对已经排序的s列表次进行降序排列,将出现次数最多的元素按顺序排在前列
# key=lambda自定义排序规则  reverse=True按照降序排列
#最后将排序后的第一个元素即第一次出现次数最大的元素赋值给变量m
m=sorted(sorted(s),key=lambda x:s.count(x),reverse=True)[0]
# sep 指定每个打印项之间的分隔符,默认为空格
# 打印出m,s.count(m)计算m出现的最多次数,用换行符分割这两个变量
print(m,s.count(m),sep='\n')
相关推荐
Thneonl3 小时前
Celery 生产踩坑:1000 任务积压与 acks_late 双重执行
后端·python
清桔3 小时前
模型的调用
python
小小张说故事3 小时前
Python 多线程为什么跑不快?asyncio 入门指南:异步并发从零上手
后端·python
10年前端老司机3 小时前
干货分享|企业智能知识库 Rerank 重排序落地实践与踩坑总结
python·aigc·agent
天天被压力3 小时前
【Python 量化取数指南 #13】Python 把行情落库:sqlite 一键存,回测随用随取
java·人工智能·python
天天被压力3 小时前
【Python 量化取数指南 #14】Python 清洗行情数据:复权停牌对齐,回测不翻车
java·人工智能·python
Python私教3 小时前
Python环境配置:conda+PyCharm+换源,附6个坑
人工智能·python·pycharm
databook4 小时前
检测数据异常值的五种统计技术
python·数据挖掘·数据分析
小小张说故事4 小时前
Selenium 装驱动太麻烦?Playwright 入门指南:Python 网页自动化新标准
python
海宇数科4 小时前
Python数据工程:利用海宇车型识别精准优化车险理赔合规体验
人工智能·python