微信发红包规则

第一种,单独给某个好友发红包:0 < 金额 <= 200,金额支持两位小数

第二种,群红包,有以下三种类型:

1) 拼手气红包:1 <= 红包个数 <= 当前群聊人数,0 < 总金额 <= 200, 金额支持两位小数

2) 普通红包:1 <= 红包个数 <= 当前群聊人数,0 < 单个金额 <= 200, 金额支持两位小数

3) 专属红包:发给群聊中特定的某个人,0 < 金额 <= 200, 金额支持两位小数

我们要写的是拼手气红包的算法,先来看下业务上的场景,如下图所示:

输入:红包个数N、总金额S

输出:随机生成的N个红包金额值

其中输出需要满足这三个条件:N个红包金额值具备随机性、N个红包金额相加的和=总金额S、金额支持两位小数

我的思路是:

在for循环中使用random函数随机生成一个金额值,将生成的金额值存放到一个列表中,因为每次生成的金额值都必须要小于可用的总金额,所以我们需要在每次随机生成一个金额值后,就用总金额减去已经生成的金额值的和,计算出剩下的金额,所以每次生成的随机数的范围应该满足:0.01 <= 随机金额值 < 总金额-已经生成的金额之和,循环N-1次后,最后一个红包金额值用减法计算

完整代码如下:

运行结果如下:

python实现微信发红包相关推荐

  1. python模拟微信发红包,并验证随机性

    python模拟微信发红包,输入金额和红包个数,得到结果,多次发红包,验证先抢后抢红包大小的随机性是否一样. 1.思路 如100元发5个红包,结合几个点几个线段的数学知识,需要在0-100之间取4个不 ...

  2. python模拟微信发红包算法_微信红包的随机算法是怎样实现的?

    有人问过微信的人,大致是这样: 先上代码: public static double getRandomMoney(RedPackage _redPackage) { // remainSize 剩余 ...

  3. 1088红包数字代表什么_微信发红包的数字含义?各种红包代表着什么,你有没有发错呢?...

    微信发红包是现在常见的社交手段,不管是关系一般还是关系亲密,都可以用发红包这个方式表达自己的亲近,但是不同的关系下,可以发的红包数字也是不同的,有兴趣的小伙伴可以和喜辰乐嫁一起来了解一下. 我也是根据 ...

  4. 软件测试肖sir__006xmind思维导图实战__微信发红包

    梳理项目测试点: 注意点: 1.开始和结束 的标亮, 2.主流程的具体步骤梳理(比如:输入框.祝福语.封面等) 3.主干分支尽量明显 4.重复的步骤,尽量合并成一个步骤 微信发红包 : 案例1:只写了 ...

  5. 编写一个函数,简单模拟微信发红包算法。

    编写一个函数,简单模拟微信发红包算法. 函数有两个参数:一个参数表示红包总金额,默认值为100:另一个参数表示红包数量,默认值为15. 所有随机产生的红包金额(保留两位小数)存放在一个列表(同时作为函 ...

  6. 测试用例设计-淘宝购物车,微信发红包

    微信发红包 淘宝购物车 根据场景法设计测试用例 例如我们都在当当网订购书籍,整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候 ...

  7. 测试用例-微信发红包

    微信发红包的测试可以从功能(正常+异常).性能.安全.兼容性.界面.易用性进行测试.期待有兴趣的博主们补充哦

  8. 【测试】如何测试微信发红包功能

    微信发红包的测试可以从功能(正常+异常).性能.安全.兼容性.界面.易用性进行测试. 功能测试 1.在红包钱数,和红包个数的输入框中只能输入数字 2.红包里最多和最少可以输入的钱数  200  0.0 ...

  9. 【测试用例练习】微信发红包(含思路)

    文章目录 分析题目-微信发红包 一.功能测试 二.性能测试 三.界面/UI测试 四.安全性测试 五.兼容性测试 六.易用性测试 七.网络测试 八.中断测试 分析题目-微信发红包 脑海中模拟一下发红包的 ...

最新文章

  1. php ascii转native,编码转换工具native2ascii的使用
  2. spring4.0之二:@Configuration的使用
  3. SAP WebIDE 里 UI5 应用的隐藏文件 project.json
  4. opencv java库_【OpenCV】java资源
  5. AUTOSAR从入门到精通100讲(四十一)-动态架构设计中的时序图
  6. nginx只能访问80端口_nginx 访问不了非80端口
  7. 【http】记一次http无法连通总是超时的问题
  8. android computescroll_Android Scroller与computeScroll的调用机制关系
  9. Neural networks and deep learning C1总结(一)
  10. Ubuntu 16.04 编译源码并安装 Caffe (CPU only)
  11. 数控仿真模拟Keller CNC SYMplus v5.0-ISO
  12. unity 地图画格_[蛮牛译馆]UnityC#教程—六边形地图系列之创建网格(中)
  13. python实现易校园自动打卡教程
  14. android 让程序在后台运行,android – 如何让我的应用程序在后台运行?
  15. MES系统架构初版ZXW
  16. linux查看共享内存文件,linux 共享内存
  17. 双屏幕显示,两个显示器分辨率不一样处理
  18. c++ 数组作为参数、返回值
  19. 爱婴室主要股东再现减持:莫锐伟、王云亦是如此,业绩表现不理想
  20. vue中使用Echarts绘制K线图

热门文章

  1. fastadmin更改访问入口文件路径
  2. python编写12306窗体抢票软件(二)
  3. 【新年返程离不开Python】最新12306抢票源程序Python版就此分享给大家啦!
  4. How to debug HTTP requests when developing and testing Web applications and clients
  5. 新学期,这里有教师必备的教学神器,你会用吗?
  6. 联想计算机桌面字变大,带高分辨率屏幕的联想高分辨率笔记本电脑字体模糊的解决方案...
  7. 1435 牛刀小试结构体
  8. 计算机无法识别ipad2,win10系统无法识别iphone、ipad的修复方法
  9. Android开发样式问题总结【持续更新】
  10. Flash与服务器通信简介