python随机发红包_python 微信红包随机金额
直接上代码吧
# -*- coding: utf-8 -*-
from decimal import Decimal, InvalidOperation
import random
def money_val(min, max):
return min if min > max else Decimal(str(random.randint(min, max)))
def money_random(total, num, min=0.01):
"""
:param total=10; # 红包总额 10 元
:param num=8; # 分成 8 个红包,支持 8 人随机领取
:param min=0.01; # 每个人最少能收到 0.01 元
"""
money_list = []
try:
total = Decimal(str(total))
except InvalidOperation as e:
return money_list, e.message
try:
if isinstance(num, float) and int(num) != num:
raise ValueError(u'Invalid value for Num: \'{0}\''.format(num))
num = Decimal(str(int(num)))
except ValueError as e:
return money_list, e.message
try:
min = Decimal(str(min))
except InvalidOperation as e:
return money_list, e.message
if total < num * min:
return money_list, u'Invalid value for Total-{0}, Num-{1}, Min-{2}'.format(total, num, min)
for i in xrange(1, num):
safe_total = (total - (num - i) * min) / (num - i) # 随机安全上限
money = money_val(min * 100, int(safe_total * 100)) / 100
total -= money
money_list.append(money)
money_list.append(total)
random.shuffle(money_list) # 随机打乱
return money_list, u'Success'
if __name__ == '__main__':
print money_random(100, 5)
python随机发红包_python 微信红包随机金额相关推荐
- python爬虫爬微信红包_python 微信红包
def redbags(money, num=10): import random choice = random.sample(range(1, money * 100), num - 1) cho ...
- python微信红包_python 微信红包
def redbags(money, num=10): import random choice = random.sample(range(1, money * 100), num - 1) cho ...
- python qq红包_python实现红包裂变算法
本文实例介绍了python实现红包裂变算法,分享给大家供大家参考,具体内容如下 Python语言库函数 安装:pip install redpackets使用: import redpackets r ...
- 微信抢红包代码 python_用 Python 实现一个简单的微信红包算法
今年过年各位一定在微信里抢了不少红包.那么当别人是手气王而你只抢到1分钱的时候,你有没有想过,如果你来实现红包的分配算法,会怎么写? 这里我给一个简单的实现方案. 基本思路就是,有多少个红包,就循环多 ...
- 不想收?发错了?微信红包怎么退回
现如今微信不单单只是用来聊天这么简单了,疫情之下,过年减少不必要的探亲活动,带来了微信红包的热潮,无论是过年红包还是平时发红包,一共有两种形式,微信红包和转账,经过小编的多次测试,微信红包怎么退回?到 ...
- 推荐 2 个阅读神器,发 20000 个微信红包封面
先说个开心的事儿,前两天收到通知,可以定制发送微信红包封面,数量是20000个.大家猛戳下面的二维码,扫码就可以用了.希望你们喜欢 说实话,我一向对我的平面设计,都没有太大的信心.所以封面略显粗糙,请 ...
- css 微信红包,js微信红包实现方案
大家肯定都使用过微信的红包功能,对微信红包的规则有一定的了解,它的规则是用户可以输入金额和红包的个数,然后供其他人去抽取,每个人最少可以抽到0.01元.一般最多可以抽到200元,那这个微信红包的效果是 ...
- python抢红包random实现_python写红包的原理流程包含random,lambda其中的使用和见简单介绍...
Python写红包的原理流程 首先来说说要用到的知识点,第一个要说的是扩展包random,random模块一般用来生成一个随机数 今天要用到ramdom中unifrom的方法用于生成一个指定范围的随机 ...
- 怎么用python制作随机点名软件_python写一个随机点名软件的实例
最近有个随机点名软件的需求,故写了一个,上代码:github地址 # -*- coding: utf-8 -*- # @Time : 18-12-31 下午4:21 # @Author : Felix ...
最新文章
- 程序员职业规划的3个锦囊
- EasyDarwin开源社区 短视频拍摄项目Github地址
- mysql autocommit 脚本_mysql autocommit的差异
- 8086存储器编址 和 I/O编址
- 运行pip报错:Fatal error in launcher: Unable to create process using '’路径’'
- 解决npm npm does not support Node.js
- ubuntu 20.04 DNS 设置
- MapKit框架使用
- 考核指标如CTR/CVR/ROI/ARPU等
- 简单的Wifi密码破解
- stm32教程之三重ADC交错采样
- VaR的应用:选择5家上市商业银行的股票交易致据(最近3年)使用 Weibull分布法估计其90天周期95%置信水平的VaR序列,并面出VaR时序图,计算每支股票最近3年内肤幅超过VaR预测园值的次
- Layui Form 如何主动验证表单是否通过
- Zend 发送邮件报错
- mysql写系统_一个用PHP和MYSQL写的定饭系统_PHP
- 颜宁:学术圈问题很多,也不分国籍,希望年轻一代守住底线
- 在线文字生成音频工具
- jspm彩虹滑板专卖网店系统毕业设计(附源码、运行环境)
- 【Unity3D】协同程序
- 谷歌浏览器升级到91出现跨域问题,导致cookie保存的sessionId不一样