微信 随机红包的实现原来如此简单

微信 随机红包的实现原来如此简单

随机红包的全过程实现

微信的抢红包的时候,你知道红包的分发规则是怎么样的吗?你是否总在祈祷着能够抢到一个最大的成为手气最佳的哪一个人,那么红包的方法规则是怎么样的呢?是如何实现的呢?下面就来了解一下吧!!

微信红包在群里面分发的有两种形式,一种是随机红包,另一种是普通红包,首先来讲解一下随机红包的实现过程吧。

随机红包以及普通红包实现过程

1、导入需要使用到的库

import random    # 实现过程是一个非常简单的过程,所以只是需要使用到一个随机模块就行了

2、 定义一个随机红包方法过程的函数

# 随机红包
def randbao(total,num):
    # total 红包的总金额 num 发红包的数量
    each = []  # 已经发了的红包数量以及金额
    already = 0  # 已经发出的总金额
    for i in range(1,num):  # 为当前抢红包的人分配一个随机的金额 ,但至少给后面的人每人留下一分钱
        t = random.randint(1,(total*100-already)-(num-i))
        each.append(t)
        already = already + t
    # 其余的金额全部发给最后一个人
    each.append(total*100-already)
    each = [i/100 for i in each]  # 转化为元为单位返回
    return each         # 返回一个每个人得到的红包金额列表

3 、普通红包的函数

# 普通红包
def hongbao(single,num):  # single 单个红包的金额 num 发的红包个数
    total = single*num
    return total       # 返回总金额

4、对随机红包函数进行调用获取随机红包金额

if __name__ == '__main__':
    total = input("请输入总金额(单位元):")
    num = input("请输入需要发的数量:")

    list1 = randbao(float(total),int(num))
    print(list1)

这样子就实现了微信红包方法的全过程,是不是很简单呢,快去尝试一下吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115148.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 空指针赋值(指针赋值有几种方法)

    空指针赋值上学期刚学C语言的时候很迷,老师说要避免野指针,但是空指针似乎又没办法赋值,就只好尽量减少指针的使用。今天查了一下发现是这样赋值的:先把要赋值的变量的地址赋给空指针,然后才能把变量的值赋给该指针。 e=&L.list[i-1]; *e=L.list[i-1];e是之前定义的一个空指针…

    2022年4月18日
    240
  • java 发送邮件 带附件或者表格

    java 发送邮件 带附件或者表格packagecom.sub.utils;importjavax.activation.DataHandler;importjavax.activation.DataSource;importjavax.activation.FileDataSource;importjavax.mail.*;importjavax.mail.internet.*;importjava…

    2022年5月14日
    62
  • &与&&的区别

    &与&&的区别

    2021年10月2日
    35
  • 神思SS628(100)型第二代身份证验证阅读机具二次开发

    神思SS628(100)型第二代身份证验证阅读机具二次开发神思SS628(100)型第二代身份证验证阅读机具是神思电子一款经典产品B/S项目中需要读取个人的身份信息进行登记,为了提高效率,选择了神思电子的神思SS628(100)型第二代身份证验证阅读机,具体使用步骤如下:首先下载驱动包,由于该功能也是基于ocx插件进行交互的,,所以要先安装驱动下面提供下载地址:根据自己的系统型号进行安装链接:https://pan.baidu.com/s/15…

    2022年6月27日
    42
  • itouch ios4 部分应用程序 打不开 解决办法

    itouch ios4 部分应用程序 打不开 解决办法

    2021年5月8日
    148
  • leetcode-17电话号码的字母组合(回溯)[通俗易懂]

    leetcode-17电话号码的字母组合(回溯)[通俗易懂]原题链接给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,”ae”,”af”,”bd”,”be”,”bf”,”cd”,”ce”,”cf”]示例 2:输入:digits = “”输出:[]示例 3:输入:digits = “2”输出:[“a”,”b”,”c”] 提示:0 <= digits.le

    2022年8月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号