使用Python完成双色球的程序
2016-12-18 23:07
225 查看
使用Python完成一个双色球的程序
程序能实现该功能,但是算法应该不是最好的,如果有更好的算法,欢迎留言指正
import random
balls = [] #创建一个空列表
redball = list(range(1,34)) #创建红色球的列表
blueball = list(range(1,17)) #创建蓝色球的列表
for i in range(6):
x = random.choice(redball) #每次从红色球里随机取出一个
if x not in balls: #判断取出的球在列表ball是否存在,如果不存在,就加到列表里
balls.append(x)
if len(balls) != 6: #随机数可能存在取出来重复的数字,6次循环后判断列表的长度是否是6
y = random.choice(redball) #如果不等于6,再继续从红色球列表里取出来一个
if y not in balls: #判断新取出来的是否在balls列表里
balls.append(y) #不在里面就加进去
balls.sort() #前面取出来的6个数字是无序的,一般双色球都是从小往大的出
balls.append(random.choice(blueball)) #最后将蓝色球随机取出来一个放到列表里
print(balls)
[3, 9, 14, 23, 26, 32, 8] 会不会万一出来这个,不小心中了500万
注:该程序还是会出现红球随机取的时候,出现多次取出相同的球,我只做了一次判断是否等于6,那么只能加一个到balls里,这时会出现取到的球一共不足7个
改进后的程序:
import random
balls = []
redball = list(range(1,34))
blueball = list(range(1,17))
for i in range(6):
x = random.choice(redball)
if x not in balls:
balls.append(x)
for j in range(5):
if len(balls) != 6:
y = random.choice(redball)
if y not in balls:
balls.append(y)
else:
break
balls.sort()
balls.append(random.choice(blueball))
print(balls)
[5, 11, 13, 27, 31, 32, 4]
程序能实现该功能,但是算法应该不是最好的,如果有更好的算法,欢迎留言指正
import random
balls = [] #创建一个空列表
redball = list(range(1,34)) #创建红色球的列表
blueball = list(range(1,17)) #创建蓝色球的列表
for i in range(6):
x = random.choice(redball) #每次从红色球里随机取出一个
if x not in balls: #判断取出的球在列表ball是否存在,如果不存在,就加到列表里
balls.append(x)
if len(balls) != 6: #随机数可能存在取出来重复的数字,6次循环后判断列表的长度是否是6
y = random.choice(redball) #如果不等于6,再继续从红色球列表里取出来一个
if y not in balls: #判断新取出来的是否在balls列表里
balls.append(y) #不在里面就加进去
balls.sort() #前面取出来的6个数字是无序的,一般双色球都是从小往大的出
balls.append(random.choice(blueball)) #最后将蓝色球随机取出来一个放到列表里
print(balls)
[3, 9, 14, 23, 26, 32, 8] 会不会万一出来这个,不小心中了500万
注:该程序还是会出现红球随机取的时候,出现多次取出相同的球,我只做了一次判断是否等于6,那么只能加一个到balls里,这时会出现取到的球一共不足7个
改进后的程序:
import random
balls = []
redball = list(range(1,34))
blueball = list(range(1,17))
for i in range(6):
x = random.choice(redball)
if x not in balls:
balls.append(x)
for j in range(5):
if len(balls) != 6:
y = random.choice(redball)
if y not in balls:
balls.append(y)
else:
break
balls.sort()
balls.append(random.choice(blueball))
print(balls)
[5, 11, 13, 27, 31, 32, 4]
相关文章推荐
- 使用python+selenium完成qq空间自动登录小程序
- python 使用pandas,完成对excel的操作: 遍历,求偏度(skew)的小程序
- python 随机数使用方法,推导以及字符串,双色球小程序实例
- 使用PDB调试Python程序
- 使用log4net完成程序异常日志记录(使用SQLite数据库记录和普通文本记录)
- C Java PHP Perl Python的程序代码美化工具使用
- Pyjamas:使用Python编写AJAX程序
- 无界面程序中使用ActiveX控件完成其功能
- 使用Python开发Android应用程序:第三节 在电脑上编写程序在手机上运行
- (转载)C Java PHP Perl Python的程序代码美化工具使用
- python中使用subprocess调用外部程序
- 使用jni接口完成android本地程序的运行--具体的操作
- C Java PHP Perl Python 的程序代码美化工具(Pretty Print Program/Source Code Beautifier)使用
- 使用jni接口完成android本地程序的运行--具体的操作
- 使用py2exe打包python脚本为exe可执行程序
- 循序渐进学Python:安装、使用与运行程序
- 【转贴】C Java PHP Perl Python的程序代码美化工具使用
- C Java PHP Perl Python的程序代码美化工具使用
- python cgi ajax - 使用CGIHTTPServer实现一个ajax程序
- 使用jni接口完成android本地程序的运行