python抽奖小程序连续抽(Python微项目分享之幸运球抽奖)
python抽奖小程序连续抽(Python微项目分享之幸运球抽奖)那天晚上做完课后练习后,头脑里面就开始想,我能不能自己弄一个项目,然后自己来码代码解决掉这是我刚刚学完培训课第三课,掌握了判断(if…else…)和循环(for…/while…)。现在看看,还是能感受到当时能做出这个功能的喜悦之情。其中一个项目,我至今还能回忆起来当时的感受,这个项目就是幸运球抽奖。
作者:JiawuZhang
出品:JiawuLab(ID:jiawulab)
微项目系列是JiawuLab原创栏目,每期选取一个自创项目或发现有趣的项目,进行代码、逻辑分析,达到python学习目的。
大家好,我是JiawuZhang,本次微项目是——幸运球抽奖。
最近翻看手机上的老视频,发现了很多,以前学习python时拍下的一些项目视频。
现在看看,还是能感受到当时能做出这个功能的喜悦之情。
其中一个项目,我至今还能回忆起来当时的感受,这个项目就是幸运球抽奖。
这是我刚刚学完培训课第三课,掌握了判断(if…else…)和循环(for…/while…)。
那天晚上做完课后练习后,头脑里面就开始想,我能不能自己弄一个项目,然后自己来码代码解决掉
于是经历了两小时的构思,抛掉各种套路,直击游戏本身,所以就有了这个项目
一个抽奖游戏,一个我自己也不知道正确答案的游戏,而概率能达到万分之一。
于是就有了这个项目的框架,如下
总共有6关,
每一关,有5只杯子,编号1、2、3、4、5,一个小球,
将小球随机放入一只杯子,
如果你猜中小球所在杯子编号,进入下一关
只要你猜错了,跳回到第一关
总共有6次机会进行
如果6关都猜对,输出“恭喜你,全通关,你获得了万中挑一的称号!”
如果6次机会都用完,没有猜对,退出程序。
然后就开始分析,怎么来写代码呢?
1、小球随机放入杯子,而且是每关都要随机,可是随机还没有学过,于是百度知道了有random库,很方便的解决我的问题。
只需要先导入“random”,然后整数1-5中选择一个,于是知道了“randint(1 5)”,可以满足我的需求。
小编注:您可以看到,当你希望解决问题,一定会去主动找寻解决办法,因此你就能学习原本不知道的更多东西,而这种学习会记忆更深刻。
2、猜这个动作,可以用到"input"这个方法,来给项目输入信息。
3、当猜中或猜错,会有相应的动作,那用判断(if…else…)正好解决。
4、有6次机会,所以需要用到循环,那两种循环用哪个呢? 两个都能用,只在处理过程中会有点不同
5、当猜中,进入下一关,达到6关,全通关,只要猜错,回到第一关,所以这里要设置两个变量,一个胜利次数,一个失败次数
好了,分析完毕,我们也知道了应该运用哪些知识点来操作,现在开始码代码:
运行下来,和上面视频显示的效果一样,灰常Good~
你认为这样就结束了吗?
没有,学习是不断进行的,之后学习到了函数,我再想,用函数来改造这个小项目,正好也能实践一下函数
函数可以传参,所以我在想这个游戏次数也可以改动啊,做为参数传进去
同时我还想到把列表也放进去,以及字符串拼接,上面代码中是用最基础的方式
但是后来学到了占位符,用“%s”来进行,这正好是新知识的应用
同时使用"for…"循环来实践,于是我就把代码改造成下面这样:
代码分析一下:
1、有5个杯子,所以中奖数字就是在[1 2 3 4 5]中,所以设置luckylist列表
2、传参,我这里设置为6,如果这时我想把机会设置成为8次,只用改最后的数字就好,也可以做更多可能
比如,当完成指定动作后,可以增加抽奖次数,这个参数可以做出相应调整。
发现没有?对的,就像各大电商平台,当你完成指定任务,可以增加抽奖次数,我们可以将这个功能放进更多大项目中。
后来,我就把这个小项目,放入我自己原创的一个文字游戏中,做为一个小功能来增强整个游戏的可玩性,并改造成各种奖励。
所以,很多时候,你做的一个小项目,不仅能学会更多python的知识,也能促进你学习更多新的知识
同时也能成为你日后,一些大项目的一部分,能快速的改造增强功能等。
所以我一直认为:
要想学会python,多做一些小项目,尤其是自己从生活中找到灵感的小项目。
本次的微项目——幸运球抽奖——分享结束。如果您喜欢这期文章,请点赞,支持一下。
欢迎您关注我,或者给我留言,说说你遇到的问题,我们一起探讨。