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))
posted @ 2020-01-18 10:11  jescs  阅读(570)  评论(0编辑  收藏  举报