【Python基础】用Random库实现发普通红包或拼手气红包

用Python的Random库实现发普通红包或拼手气红包

编写一个不带界面的红包发放程序,如果用户选择普通红包,则输入总金额和红包个数,计算出待发放的单个红包金额;如果用户选择拼手气红包,则输入总金额和红包个数,随机发放红包(不超过总金额)。

'''
编写一个不带界面的红包发放程序,
如果用户选择普通红包,则输入总金额和红包个数,计算出待发放的单个红包金额;
如果用户选择拼手气红包,则输入总金额和红包个数,随机发放红包(不超过总金额)。
'''
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')

运行示例

【Python基础】用Random库实现发普通红包或拼手气红包_第1张图片

你可能感兴趣的:(Python基础,python)