今天的彩票系列练习是体彩的大乐透,前几天分别做了3D福彩,双色球和七乐彩的练习,链接如下,仅供大家参考。
【python小练习】彩票系列-福彩3D
【python小练习】彩票系列-双色球
【python小练习】彩票系列-七乐彩
说实话,随着python的不断学习,越来越深刻的感受到编程的魅力,比如自己刚学会编程的时候,只会用列表,for循环去写代码,碰到彩票的问题,第一反应就是往列表里面去添加元素,但昨天看帖子的时候,无意中看到random模块中的sample()方法,仿佛给自己打开了另外一扇窗户,自己的代码也越来越简单,这种喜悦的心情真的很不错!
言归正传,说下思路:
大乐透:基本投注是指从01—35共三十五个号码中任选五个号码,从由01—12共十二个号码组成任选两个号码的组合进行投注。
需求分析:
1.利用sample()方法从1-35中生成5个随机数的列表,因为sample生成的是不重复的元素,所以无需像以前一样要判断是否在列表中。
2.利用zfill()对元素进行格式化
3.可以用for循环输出元素,当然也可以用join()直接连接列表中的元素
4.定义一个函数,变量n为要生成多少注彩票
代码如下:
import random
print('*'*6+'超级大乐透'+'*'*6)
print('='*21)
def lottery(n):
'''
n表示要购买的数量
'''
for i in range(n):
red=random.sample([str(i).zfill(2) for i in range(1,36)],5)
blue=random.sample([str(i).zfill(2) for i in range(1,13)],2)
red.sort()
blue.sort()
print('红球是:'+ ' '.join(red)+'蓝球是:'+' '.join(blue))
lottery(5)
看似有14行代码,但实际关键的代码六七行就可以了,真心体会python的强大,学无止境,加油吧!