尽量用最基础的方法写出来

请用随机函数产生 20 行,每行10个数字,数字范围在 1-100 之间的随机整数存入文件 random.txt 中,编程寻找这些整数的众数并输出,众数即为一组数中出现最多的数。
《红楼梦》是四大名著之一,保存其文本在hongloumeng.txt文件中,编写程序统计该篇文章的各字符的字符数(不统计换行符和空格),字符与出现次数之间用冒号分隔,保存结果在文件PY7_1.txt中,并将得到的字符次数进行排序,将排名前10的常用字符保存在PY_2.txt中。

import random

with open('random.txt', 'w') as f:
    for _ in range(20):
        nums = [str(random.randint(1,100)) for _ in range(10)]
        f.write(' '.join(nums) + '\n')

with open('random.txt', 'r') as f:
    data = sum([s.split() for s in f.read().split('\n') if s],[])

data = list(map(int, data))

dic = {i:data.count(i) for i in data}

lst = sorted(dic.items(), key=lambda x:x[1])

print(f'众数为{lst[-1][0]},共出现{lst[-1][1]}次')