'''编写一个函数,简单模拟微信发红包算法。函数有两个参数:第一个参数表示红包总金额,另一个参数表示红包数量。
要求:
1.所有随机产生的红包金额(保留两位小数)存放在一个列表中
2.单个红包金额最少为0.01元
3.红包总金额不超过200元
4.打印出来随机红包列表'''
import random
number = int(input('红包个数:\n'))
money = float(input('总金额:\n'))
def redPacket(number, money):
result = []
n = number
if float(money) > 0 and float(money) < 200:
for i in range(number):
n -= 1
if n > 0:
m = random.uniform(0.01,money)
m = round(m,2)
else:
m = money
m = round(m,2)
result.append(m)
return result
else:
print('请输入一个大于0并且小于200的红包')
a = redPacket(number, money)
print(a)
思路: 1.红包是随机产生的,所以要用到random这个模块( import random )
2.产生的红包要保留两位小数,可以考虑用round()方法
round(x,y) :第一个参数是一个浮点数,第二个参数是保留的小数位数(不写的话,默认保留到整数)
round()方法对浮点数进行近似取值,保留几位小数
3.单个红包金额最少为0.01,考虑用random模块下的uniform函数
uniform(x,y) :x---随机数的最小值,包含该值;y---随机数的最大值,不包含该值
uniform()函数返回的是一个浮点数