• 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))
  • 相关阅读:
    warmup_csaw_2016
    pwn-简单栈溢出
    吃土
    编程中的进制转换
    linux系统安全及应用——账号安全(基本安全措施)
    vmware vSphere虚拟网络之标准交换机(二)
    vmware vSphere虚拟网络(一)
    服务器虚拟化技术概述
    用shell脚本安装apache
    The server of Apache (二)——apache服务客户端验证
  • 原文地址:https://www.cnblogs.com/jescs/p/12208366.html
Copyright © 2020-2023  润新知