断更这么久的小编迷上了彩票,根据上些篇写的代码,那这一篇就用while写个双色球小程序吧,小编前两天靠这个中了五块钱,当然仅限娱乐,仅限娱乐哈~
大家都知道,双色球由6个红球和一个蓝球组成,所以我们的写这个程序的目的,就是生成这些数,敲键盘之前,我们首先要理解这里的需求:
1、生成6个随机数红球(1~33)
2、生成1个随机数蓝球(1~16)
好了,有了大体框架,我们就直接开始!
这是最好理解的代码,也可以说是我们接下来简写代码的基础,写6遍生成随机数的程序来直接给出结果,然后再来一个蓝球,易懂,但是不简明,所以我们需要看起来更简便舒适一点的代码:
快乐地用到前些天理解的while函数,让这个生成随机数的代码循环6次,但是机器怎么知道自己循环几次呢,所以需要给循环一个参照条件,这里使用count来参照,先给它赋一个1,赋0也可以,但是在程序中0代表一个位置,比如1,2,3,4这几个数,它们的第0个数就是1,所以为了好理解,我们给count的初值为1,再让它在while里每进行一次循化都加上1(count+=1就是count+1的意思,程序语言基本通用),这样count就能够独立计数了,等计到6的时候,我们的6个随机红球也就取到了。
看到了输出结果,咦~有点丑,不在一行展示,看起来贼难受,于是我们决定再加两行代码让它好看点:
好看点的输出那必须是列表了,所以我们先在循环之外建一个空列表Reds,然后把我们在循环中取到的每一个数放进去,第7行Reds.append(Red)就是在Reds列表,添加每次循环取到的Red,看起来快乐多了。
那么问题又来了,这个红球列表里,它有重复数,而且还不按大小排列,看起来不体面,不行,继续改:
首先加上if限定,只有Reds列表没有的数才能被添加进去;然后用for对列表进行遍历,两个for,因为要取两个数据进行比较,最后用if进行判断排序,大的放后面,小的排在前面。
看起来顺眼了不少,但是如果我们不想一次只买一注呢?买彩票当然是想买几注就买几注,继续改,顺便加个备注:
好了,该控制的,我们都控制了,生成了一个好看的结果,没有重复的双色球,至于蓝球大家可以直接试着写一下,看看如何把蓝球加进列表或者让这个结果更美观:
今天先写到这儿,简写是肯定有的,但这个双色球写出来的目的就是为了巩固以前写过的内容,夯实基础,感兴趣的朋友可以自己也试着写一下,简写我就放在下一版吧。
未来都是星期天谢谢喜欢