【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')

运行示例

运行示例

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

strangequark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值