当前位置: 首页 > news >正文

python 练习 五

题目

  1. 红包发放
  2. 可设置金额和分发数量
  3. 用户每次抽奖,显示抽奖结果

说明:

        均匀分布的均值是(a+b)/2,a为最小值,b是最大值。

        详见:均匀分布(数学概率论中的术语)_360百科

        假如 (a+b)/2 = 总金额/人数,a值为0,则b值为(总金额/人数)*2。

代码

from random import *class hb:get_hb_list =[]total=0balance=0num=0min_money = 0.01def setHb(self,total,num):self.total = totalself.num = numdef divideHb(self):len_hb_list = len(self.get_hb_list);if len_hb_list==0:self.balance=self.totalif self.balance==0 or len_hb_list==self.num:return 0if len_hb_list+1==self.num:money = self.balanceelse:use_num = self.num-len_hb_listmax_money = (self.balance/use_num)*2money = uniform(self.min_money,max_money)money = round(money,2);self.balance -= moneyself.get_hb_list.append(money)self.getHblist()return moneydef getHblist(self):print("*********",end="\n")for key,value in enumerate(self.get_hb_list) :print("{}:{:.2f}元".format(key+1,value))print("*********",end="\n\n")

调用

hb = hb()
hb.setHb(10,5)
hb.divideHb()
hb.divideHb()
hb.divideHb()
hb.divideHb()
hb.divideHb()
hb.divideHb()

输出

*********
1:0.38元
******************
1:0.38元
2:4.58元
******************
1:0.38元
2:4.58元
3:1.02元
******************
1:0.38元
2:4.58元
3:1.02元
4:1.67元
******************
1:0.38元
2:4.58元
3:1.02元
4:1.67元
5:2.35元
*********

相关文章:

  • 深入理解Java HotSpot中的即时编译
  • PADS入门笔记【一】
  • 【Python】对象生命周期全解析
  • Vue 3 打开 el-dialog 时使 el-input 获取焦点
  • 使用大语言模型从零构建知识图谱(上)
  • Linux 内核 IPv4 协议栈中的协议注册机制解析
  • QT---信号与槽
  • Qt操作SQLite数据库教程
  • AI Agent开发第66课-彻底消除RAG知识库幻觉-带推理的RAG
  • 3D Gaussian Splatting 查看工具 splatviz
  • 建筑物渗水漏水痕迹发霉潮湿分割数据集labelme格式1357张1类别
  • vue和springboot交互数据,使用axios【跨域问题】
  • 论系统安全架构设计及其应用~系统架构师论文
  • Ros2 - Moveit2 - DeepGrasp(深度抓握)
  • Open3D 体素化下采样
  • Python面向对象编程精解:从两大编程范式到类与对象实战
  • 前后端分离博客 Weblog 项目实战
  • 启动窗体自动输入上次内容——CAD c#二次开发
  • 50. Pow(x, n)
  • 『 测试 』软件测试全流程与Bug管理核心要点解析
  • 伊朗最高领袖顾问:伊朗愿承诺永不制造核武,换取美解除制裁
  • 体坛联播|博洛尼亚时隔51年再夺意杯,皇马逆转马洛卡
  • 终于越过萨巴伦卡这座高山,郑钦文感谢自己的耐心和专注
  • 商务部新闻发言人就暂停17家美国实体不可靠实体清单措施答记者问
  • 京东一季度净利增长五成,营收增速创近三年新高,称外卖业务取得显著进展
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单