python简单模拟微信红包算法时怎么解决金额出现负数

python简单模拟微信红包算法时怎么解决金额出现负数,我是为了保证它们加起来是总金额,所以产生随机数的范围一直随着金额变的,但是金额怎么控制不减到负数呀,感谢指教!求!

你设终止条件啊,到某个人红包剩余金额为0就停止。

而每人能获得的实际金额不能超过剩余金额,即到某人随机数出来了,如果超过剩余,以剩余为限。

估计你所谓的出现负数是完全用浮点数的情况,其实这个完全可以用整数来处理,就可以避免浮点数啦。

https://zhuanlan.zhihu.com/p/413606123
看一下。
你可以通过在减之间做一个判断来看看会不会减到负数,如果会,那就重新随机。

为什么会产生负数?随机数都是0.01到红包大小的 ,产生一个减去一个,为啥会负的