zoukankan      html  css  js  c++  java
  • python 练习题- 红包取值

    题目:

    1 红包算法
    2 1.输入是人数,总金额。输出是每个人的金额
    3 2.多人红包,最大的不得超过总额的80%

    代码:

     1 # @Author  :whyCai
     2 # @Time    :2021/3/4 22:15
     3 
     4 '''
     5 红包算法,输入是人数,总金额。输出是每个人的红包金额,拿的最多的人应有标示。
     6 额外要求:多人红包下,拿的最多的人,不得超过总额的80%.
     7 '''
     8 import random
     9 
    10 def getRed(money,num,maxNum=0.8,min=0.01,switch=1):
    11     '''
    12     求随机数
    13     :param money: 总金额
    14     :param num: 人数
    15     :param maxNum: 个人最大值的系数(总金额的百分比)
    16     :param min: 最小值
    17     :param switch: 1:随机数 第一个人获得大的金额数概率较大 其他:最大值按照 剩余金额/(剩余人数/2)的方式取值
    18     :return: 
    19     '''
    20     money = round(float(money),2)
    21     max = money * maxNum
    22     num = int(num)
    23     if num == 1:
    24         print('总人数:{num},红包金额:{money}'.format(num=num,money=money))
    25 
    26     total = money
    27     if num > 1:
    28         for i in range(num):
    29             if i != num-1:
    30                 ranMax = int(max*100-(num-i-1)*min*100)
    31                 if switch !=1:
    32                     mid = 2 if num - i -1 < 2 else int((num - i - 1)/2)
    33                     ranMax = round(ranMax/mid)
    34                 ranRed = random.randint(min*100, ranMax)
    35                 ranRedFloat = float(ranRed/100)
    36                 total = round((total - ranRedFloat),2)
    37                 if total < max:
    38                     max = total
    39             else:
    40                 ranRedFloat = total
    41                 total = 0
    42             print('总人数:{num},第{n}个人的红包金额:{money},剩余红包金额:{moneyOther}'.format(num=num, n=i+1,money=ranRedFloat,moneyOther=total))
    43 getRed(100,10,0.8,0.01,2)
  • 相关阅读:
    FreeMarker中List排序
    Mingyang.net:为什么不将Bean定义在Action参数中?
    长春市学校标识码
    java解析html的table
    java发送http的get、post请求【备忘】
    CentOS安装CAS 5.3.4服务端
    设置JAVA环境变量
    CentOS安装Maven
    为tomcat8安装Native library
    openresty用naxsi防xss、SQL注入
  • 原文地址:https://www.cnblogs.com/whycai/p/14487245.html
Copyright © 2011-2022 走看看