Python 统计yaml文件中数字出现的次数
背景需求:
公司开发了一个抽奖系统,大概功能是可以设置抽奖号码,然后设置抽奖的等级及数量,再从设置的号码中抽取。
由于是抽奖系统,需要评估一下数字中奖的概率。我对这个系统进行了以下处理
1.编写初始化抽选号码,即根据初始化接口清空已有号码数据

2.根据设置号码池

3.根据抽奖接口返回数据取出中奖号码

4.将数据写入yaml文件

5.设置100次循环抽奖

6.对yaml文件进行处理,读取数据

7.按照条件取出数据

8.取出文件中出现频率最高的数字

最后结果为

附yaml文件读取代码
import yaml
# 读取yaml文件数据
f = open(‘test.yaml‘)
data = yaml.load(f, Loader=yaml.FullLoader)
print(data)
# 获取出现频次最高数字
def max_list(lt):
global max_str
temp = 0
for i in lt:
if lt.count(i) > temp:
max_str = i
temp = lt.count(i)
return max_str, temp
# 统计每个数字出现的频次
dict = {}
keys_1 = []
keys_2 = []
for key in data:
if 0 < int(key) <= 10:
keys_1.append(key)
dict[key] = dict.get(key, 0) + 1
elif 10 < int(key) < 50:
keys_2.append(key)
dict[key] = dict.get(key, 0) + 1
print(dict)
print(‘0-10出现次数为{},数字为:{}‘.format(len(keys_1), keys_1))
print(‘10-50出现次数为{},数字为:{}‘.format(len(keys_2), keys_2))
print(‘出现最多次数的为‘, max_list(data))