编写一个不带界面的红包发放程序,如果用户选择普通红包,则输入总金额和红包个数,计算出待发放的单个红包金额;如果用户选择拼手气红包,则输入总金额和红包个数,随机发放红包(不超过总金额)。
'''
编写一个不带界面的红包发放程序,
如果用户选择普通红包,则输入总金额和红包个数,计算出待发放的单个红包金额;
如果用户选择拼手气红包,则输入总金额和红包个数,随机发放红包(不超过总金额)。
'''
import random
while True:
mode = input("-----红包发放系统-----\n请选择你要发放的红包模式(输入数字)\n1:普通红包\n2:拼手气红包\n")
if mode == '1':
money = float(input('输入红包总金额:'))
number = int(input('输入红包个数:'))
print('单个红包的金额为:', round(money / number, 2))
break
elif mode == '2':
money = float(input('输入红包总金额:'))
number = int(input('输入红包个数:'))
threshold = float(input('输入单个红包最大金额占比(必须小于1):'))
packets = []
for i in range(number - 1):
packet = round(money * threshold * random.random(), 2) # 该红包的金额
money -= packet # 减去已分配部分
packets.append(packet)
packets.append(round(money, 2)) # 最后一份只需要剩下的钱
print("拼手气红包金额分别为:", packets)
break
else:
print('没有这种红包,请重新选择\n')