项目经验:抽奖程序(Python)
每家互联网公司到年末都会有聚会,聚会少不了抽奖环节,如何公平、有趣的做好抽奖活动是年会开的好不好的重要评价指标,以下笔者从一个程序员角度,设计一款抽奖程序。
一、业务
- 参加抽奖的人员数据保存在一个csv文件中,文件包含两列:工号和姓名。
- 可以涉及多个奖项,每个奖项可以设置多少名额,奖项和名额可以设置。
- 当奖项大于参加抽奖人数的时候,可以自动提示,并退出抽奖程序。
- 抽奖的结果最终按:m等奖n名:x,y…输出。
- 每个人最多只能中一次奖,不能重复中奖。
最终效果如下:
二、实现
- 首先需要实现一个从csv文件读取数据的函数,csv文件内容如下:
具体代码如下:
- 奖项的数据结构,由于业务中涉及的奖项比较简单,我们直接通过list列表来完成奖项设置,列表的元素个数代表奖项的数量,元素值代表该奖项相应的获奖名额,具体例子如下:
- 抽奖逻辑,通过random.choice(list)从参加抽奖的人员列表中抽取一个随机数据,同时把这个元素放入相应奖项列表中,同时在参加抽奖列表中删除该数据,每个奖项单独作为一次抽奖过程,完成后直接输出中奖结果,具体代码如下:
以上就是通过Python实现的一个简单功能的抽奖程序,欢迎读者朋友们互相交流。
参考文献
- Github项目源代码LuckyDog
项目经验:抽奖程序(Python)相关推荐
- 零架构项目经验的程序员,如何升级成架构师
先说目前关于架构师的一些是实际情况. 1 要成为Java架构师,单纯靠学知识一定不行,得靠在项目里积累经验. 2 如何判断程序员是否已经成为java架构师?不是看程序员掌握的技能,更不是看程序员干的活 ...
- Java项目经验是程序员成长的重要经验
没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是项目经理,你该如何思考! 我在疯狂软件j ...
- python 公司年会抽奖_公司年会抽奖程序-python
发一下自己写的公司抽奖程序.. 需求:公司年会要一个抽奖程序,转盘上的每一个人名是随机中奖的,中奖后的人不可以再次中奖,按住抽奖,就会一直在转,放开后,要再转一两圈才停. 呵,刚好自己在学python ...
- 抽奖程序(python)
抽奖程序: 1.每次抽奖完成,会提示是否继续抽奖,只有输入"是"才继续抽奖 2.抽奖逻辑: (1)生产0-100的整数,构造成列表 (2)构造三个列表,分别是一等奖.二等奖.三等奖 ...
- Java项目经验——程序员成长的关键
2019独角兽企业重金招聘Python工程师标准>>> Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点: 1.掌握 ...
- 年会,用 Python 做了个 “抽奖程序”,boss 奖励我一个红包!
作者:小小明 文末获取完整代码 简介:Pandas 数据处理高手,10 余年编码经验,至今已帮助过百名以上数据从业人员解决工作实际遇到的问题,其中数据处理和办公自动化问题涉及的行业包括会计.审计.HR ...
- 网易python面试经验_Python程序员应该如何准备面试
当前Python语言的上升趋势非常明显,随着大数据和人工智能领域的发展,Python语言未来的应用前景还是非常值得期待的.另外,Python语言在Web开发.嵌入式开发和各种后端服务开发中也扮演着重要 ...
- 如何高效利用开源项目增加实战经验?程序员如何做副业?这些你关心的问题一次讲清楚!...
不久前我在朋友圈做了一个调查,"工作1-3年的程序员,你对自身发展有哪些困惑?"得到了五花八门的答案: "我在一家小公司写Java,工作2年了,感觉很迷茫,项目经验也不多 ...
- 用Python制作一个简易的抽奖程序
分析需求 我们先整理下思路,目标是什么? 目标是要写一个抽奖程序,那么抽奖程序的核心是什么? 当然是如何判断一个人中奖了.那么如何判断一个人中奖呢? 是不是可以通过随机函数来操作呢? 中奖方法 一步一 ...
最新文章
- Template Method (C++实现)
- 机器学习(MACHINE LEARNING)MATLAB遗传算法
- listen()函数中backlog参数分析
- php+imagick详解,PHP中imagick函数的中文解释_php技巧
- 使用Powerdesigner的逆向工程生成PDM(主要是注释可以放进去)
- 算法练习day10——190328(根据指定值划分单链表、复制含有rand指针节点的链表、两个单链表相交)
- 1035 插入与归并 (25 分)(c++)
- android clipChildren的使用
- 不借助Maven,使用Eclipse创建Hello World级别的Spring项目
- java+多线程菜鸟_java多线程
- 中移动飞信2010Beta1.0体验版
- Mac 修改Hosts文件的方式
- CITE 2018盛大开幕,精彩看点速来围观
- AAAI 2020对抗样本论文
- 微信发送图片php,PHP怎么实现微信图片上传到服务器?
- DNS服务器详解(端口占用与记录类型)
- sql语句-按照汉字拼音首字母排序
- 数据运营分析多年,我只推荐这些书
- 凯云水利水电工程造价管理系统 技术解释(十三) 中间单价(四)
- 线性代数2.5分块矩阵