python转盘抽奖概率_转盘指定概率抽奖
前段时间项目中开了一个转盘抽奖的活动,转盘抽奖是一个比较简单的算法,下面介绍两种实现
第一种实现
import random
from typing import List
def random_pick(item_list: List[str], probability_list: List[float]) -> str
"""
以设定的概率从列表里随机抽取一个值返回
:param item_list: 元素列表
:param probability_list: 概率列表
:return: 抽取的元素
"""
if not all([item_list, probability_list]):
# 如果传入空列表,返回提示信息
return "元素列表和概率列表不能为空!"
x = random.uniform(0, 1) # 产生随机数
accumulative_probability = 0.0 # 累积概率
for item, probability in zip(item_list, probability_list):
accumulative_probability += probability
if x < accumulative_probability:
break
return item
### 第二种实现
```python
import random
def random_pick():
lucky_spin_rewards = [
{"integral": 1, "probability": 20},
{"integral": 2, "probability": 10},
{"integral": 3, "probability": 60},
{"integral": 4, "probability": 10},
]
integral = 0
x = random.randint(1, 100)
for item in lucky_spin_rewards:
probability = item["probability"]
if x <= probability:
integral = item["integral"]
break
x -= probability
return integral
以上两种实现其实原理一样,只是顺序不一样而已
python转盘抽奖概率_转盘指定概率抽奖相关推荐
- php9宫格抽奖程序_使用php控制抽奖系统
一下观点都是小弟未经深思熟虑的考虑写的,如果不对的地方请指点.... 抽奖系统 俗称 大转盘 或 九宫格抽奖功能,大转盘或九宫格的功能我就不说了,网上插件有很多,也很简单,这里就简单的讲解一下思路 1 ...
- java 实现概率事件,实现指定概率的随机事件
在开发中,经常遇到一个需求,给一些事件,并指定这些事件出现的概率.例如:A:10%,B:20%, C:30%,D:40% 按照事件的概率随机选择一个其中一个事件. 实现思路: 根据大学概率论所学的知识 ...
- 如何使用java编程算概率_游戏中概率的编程实现(转之别人)最简单的
概率 听起来很玄 比如洗法宝 太一石 有一段说明 有一定概率 能改变法宝的技能阶数 那么 概率在编程中如何实现的呢 个人在大学里有学c++ java 以及vb 现以vb实现概率来说明 首先,要先说清楚 ...
- 抽奖动画_增强您的抽奖动画工作流程
抽奖动画 If you work on UI/UX design, you may hear a lot about micro-interaction, icon animation, onboar ...
- android随机抽奖代码_基于JavaScript实现抽奖系统
用JavaScript实现一个简单的抽奖系统,有[开始]按钮和[停止]按钮. 功能: - 点开始按钮开始抽奖,随机出现奖品名称: - 点停止按钮即可停止抽奖: - 按下回车键可切换开始抽奖和停止抽奖. ...
- python概率随机抽奖源码_抽奖算法-指定概率的随机
抽奖模型 普通概率模型 普通概率模型是最常用的一种模型,但是在游戏运营过程中的确发现很多小白玩家不能正确理解--他们认为中奖率 10% 的设定等同于抽 10 次肯定会中一次.这显然是错误的,普通概率模 ...
- python笔记2:指定概率生成数据
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 python笔记2:指定概率生成数据 一.random指定范围随机生成数 1. *random.choice()在指定数据集内生成随机 ...
- 抽奖算法-指定概率的随机
抽奖模型 普通概率模型 普通概率模型是最常用的一种模型,但是在游戏运营过程中的确发现很多小白玩家不能正确理解--他们认为中奖率 10% 的设定等同于抽 10 次肯定会中一次.这显然是错误的,普通概率模 ...
- 利用随机数实现指定概率抽奖
一.随机数与概率的规律 假设我们使用随机数生成器,可以产生1-100范围内随机数. 那么每次产生的随机数,其值可能是1-100范围内任意一个数,每个数的概率均等. 所以可以得出,随机数值V与概率P,有 ...
最新文章
- 学术圈又曝出新瓜了?与院士共任通讯作者,网友:真“飞升疾走”
- blob照片显示 oracle_保存图片到oracle的blob字段,报ora-01465
- 向Window窗体发送消息,控制程序的运行.
- 深入学习SAP UI5框架代码系列之八:谈谈 SAP UI5 的视图控件 ID,以及 SAP UI5 视图和 Angular 视图的异同
- 前端学习(3214):state的一个简洁方式
- python博客下载本地文件_解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了...
- 【转】什么是staging server
- 天猫精灵方糖拆解报告和芯片详解
- MySQL基础篇(05):逻辑架构图解和InnoDB存储引擎详解
- android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL
- 文件包含漏洞的审计(审计思路)
- 服务器IO-HPSocket
- CVBS、VGA、HDMI、MIPI等8种视频接口详解
- tp6 集成swoole
- [6月7日的脚本] 在Windows 8中将桌面版IE设置为默认浏览器 (VBScript)
- android 4.4 沉浸模式,大杀器:安卓4.4沉浸模式强制开启!
- C++大写字母转小写字母
- 随意切换双卡流量,立即获取对应卡的SMIS
- 鏈接腳本、靜態庫、共享庫
- 【论文阅读】Slot-Gated Modeling for Joint Slot Filling and Intent Prediction
热门文章
- SAP CRM WebClient UI cross workcenter的context cleanup
- 部署SAP UI5应用到ABAP服务器时,Webcontent path的determine逻辑
- Jerry Wang 2014年在SAP社区CRM板块的积分曾经一直占据第一
- SAP UI5对于颜色使用的最佳实践
- animation基础练习源码_用vue简单写一个音乐播放组件「附源码」
- monkey 运行时间怎么计算_基于STM32F103C8T6工控板利用定时器计算某段代码的运行时间...
- oracle获取序列跳号,Oracle sequence跳号知多少
- 小新pro13睡眠后无法唤醒_轻薄的外表狂野的心——联想小新 Pro13 测评
- x79主板bios设置中文_bios菜单
- mysql数据库设置字符集配置修改my.ini文件(windows)