目录
一、面试题:
二、解题思路:
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]))