目录

一、面试题:

二、解题思路:

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]))