前段时间项目中开了一个转盘抽奖的活动,转盘抽奖是一个比较简单的算法,下面介绍两种实现

第一种实现

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转盘抽奖概率_转盘指定概率抽奖相关推荐

  1. php9宫格抽奖程序_使用php控制抽奖系统

    一下观点都是小弟未经深思熟虑的考虑写的,如果不对的地方请指点.... 抽奖系统 俗称 大转盘 或 九宫格抽奖功能,大转盘或九宫格的功能我就不说了,网上插件有很多,也很简单,这里就简单的讲解一下思路 1 ...

  2. java 实现概率事件,实现指定概率的随机事件

    在开发中,经常遇到一个需求,给一些事件,并指定这些事件出现的概率.例如:A:10%,B:20%, C:30%,D:40% 按照事件的概率随机选择一个其中一个事件. 实现思路: 根据大学概率论所学的知识 ...

  3. 如何使用java编程算概率_游戏中概率的编程实现(转之别人)最简单的

    概率 听起来很玄 比如洗法宝 太一石 有一段说明 有一定概率 能改变法宝的技能阶数 那么 概率在编程中如何实现的呢 个人在大学里有学c++ java 以及vb 现以vb实现概率来说明 首先,要先说清楚 ...

  4. 抽奖动画_增强您的抽奖动画工作流程

    抽奖动画 If you work on UI/UX design, you may hear a lot about micro-interaction, icon animation, onboar ...

  5. android随机抽奖代码_基于JavaScript实现抽奖系统

    用JavaScript实现一个简单的抽奖系统,有[开始]按钮和[停止]按钮. 功能: - 点开始按钮开始抽奖,随机出现奖品名称: - 点停止按钮即可停止抽奖: - 按下回车键可切换开始抽奖和停止抽奖. ...

  6. python概率随机抽奖源码_抽奖算法-指定概率的随机

    抽奖模型 普通概率模型 普通概率模型是最常用的一种模型,但是在游戏运营过程中的确发现很多小白玩家不能正确理解--他们认为中奖率 10% 的设定等同于抽 10 次肯定会中一次.这显然是错误的,普通概率模 ...

  7. python笔记2:指定概率生成数据

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 python笔记2:指定概率生成数据 一.random指定范围随机生成数 1. *random.choice()在指定数据集内生成随机 ...

  8. 抽奖算法-指定概率的随机

    抽奖模型 普通概率模型 普通概率模型是最常用的一种模型,但是在游戏运营过程中的确发现很多小白玩家不能正确理解--他们认为中奖率 10% 的设定等同于抽 10 次肯定会中一次.这显然是错误的,普通概率模 ...

  9. 利用随机数实现指定概率抽奖

    一.随机数与概率的规律 假设我们使用随机数生成器,可以产生1-100范围内随机数. 那么每次产生的随机数,其值可能是1-100范围内任意一个数,每个数的概率均等. 所以可以得出,随机数值V与概率P,有 ...

最新文章

  1. 学术圈又曝出新瓜了?与院士共任通讯作者,网友:真“飞升疾走”
  2. blob照片显示 oracle_保存图片到oracle的blob字段,报ora-01465
  3. 向Window窗体发送消息,控制程序的运行.
  4. 深入学习SAP UI5框架代码系列之八:谈谈 SAP UI5 的视图控件 ID,以及 SAP UI5 视图和 Angular 视图的异同
  5. 前端学习(3214):state的一个简洁方式
  6. python博客下载本地文件_解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了...
  7. 【转】什么是staging server
  8. 天猫精灵方糖拆解报告和芯片详解
  9. MySQL基础篇(05):逻辑架构图解和InnoDB存储引擎详解
  10. android url拼接参数,【Tech-Android-Other】高效拼接一个GET请求URL
  11. 文件包含漏洞的审计(审计思路)
  12. 服务器IO-HPSocket
  13. CVBS、VGA、HDMI、MIPI等8种视频接口详解
  14. tp6 集成swoole
  15. [6月7日的脚本] 在Windows 8中将桌面版IE设置为默认浏览器 (VBScript)
  16. android 4.4 沉浸模式,大杀器:安卓4.4沉浸模式强制开启!
  17. C++大写字母转小写字母
  18. 随意切换双卡流量,立即获取对应卡的SMIS
  19. 鏈接腳本、靜態庫、共享庫
  20. 【论文阅读】Slot-Gated Modeling for Joint Slot Filling and Intent Prediction

热门文章

  1. SAP CRM WebClient UI cross workcenter的context cleanup
  2. 部署SAP UI5应用到ABAP服务器时,Webcontent path的determine逻辑
  3. Jerry Wang 2014年在SAP社区CRM板块的积分曾经一直占据第一
  4. SAP UI5对于颜色使用的最佳实践
  5. animation基础练习源码_用vue简单写一个音乐播放组件「附源码」
  6. monkey 运行时间怎么计算_基于STM32F103C8T6工控板利用定时器计算某段代码的运行时间...
  7. oracle获取序列跳号,Oracle sequence跳号知多少
  8. 小新pro13睡眠后无法唤醒_轻薄的外表狂野的心——联想小新 Pro13 测评
  9. x79主板bios设置中文_bios菜单
  10. mysql数据库设置字符集配置修改my.ini文件(windows)