Python面试题--第54道题目--得到文件中出现次数最多的字符--2022年04月09日

目录

一、面试题:

二、解题思路:

1、读取文件

2、统计字符数

3、求出现次数最多的字符

三、一个小算法:

四、代码实现:


一、面试题:

现在有一个文本文件,要求得到改文本文件中出现次数最多的字符,最后输出字符和出现的次数,空白符除外。

二、解题思路:

1、读取文件

2、统计字符数

3、求出现次数最多的字符

三、一个小算法:

1、算法的基本原理:首先创建一个字典d,key表示文本文件出现的字符,value表示key指定的字符出现的总次数。

2、从文本文件中取出一个字符,然后去字典中检测这个字符,如果不存在说明是头一次出现,增加到字典中,将value设成1;如果在字典中检测到了,就将key对应的value+1。

3、maxchar表示当前统计显现频率最高的字符。

四、代码实现:

with open("D:\python_work\interview\mianshi100\\readme.txt", 'r') as f:
    data = f.read()
d = {}
maxchar = ''
for c in data:
    if c.isspace():
        continue
    if d.get(c) is None: # 使用get()函数不报错,如果直接d[c],d[]没有的话会报错的。
        d[c] = 1 # 没有就增加一个新的元素进字典
        if maxchar == '':
            maxchar = c # 给maxchar赋值
    else:
        d[c] += 1
        if d[maxchar]< d[c]:
            maxchar = c
print('出现次数最多的字符:' + maxchar)
print("出现次数最多的字符的总次数:" + str(d[maxchar]))

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值