最近公司要上一个抽奖的功能,需要验证概率的准确性, 通过调用接口对概率进行验证
python中的requests库对于接口请求非常方便
具体实现
- 首先定义一个空的字典 list,和总次数
list = {}
num = 100000
- 请求抽奖的接口,并将返回的数据存储起来
def lottery_test():
url = "xxx"
headers = {
'Authorization': 'xxx'
}
for i in range(num):
response = requests.request("POST", url, headers=headers)
r = response.text
jsonobj = json.loads(r)
reward_name = jsonobj['prize_list'][0]['reward_name']
if reward_name not in list.keys():
list[reward_name] = 1
else:
list[reward_name] += 1
print(list)
- 计算抽奖的概率
def get_lottery():
for key, value in list.items():
lottery = value / num
print(key + "的概率是:" + '{:.2%}'.format(lottery))
缺点: 次数较多时请求接口时间过长,需要进一步改善