python—模拟生成双色球号
双色球规则:“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1--33中不重复选择;蓝色球号码从1--16中选择。
# -*- coding:UTF-8 -*-
import random,time
def process_int(x):
'''
这个函数用来把int类型转成字符串
'''
x = str(x)
if len(x)==1:
#如果是个位数前面加0
x='0'+x
return x
def tickets(num):
'''
:num 产生几条
这个函数是用来随机产生双色球号码的,
每次把产生的号码保存在当天日期的文件中
'''
red_nums = list(map(process_int,range(1,34)))
#红球,范围在1-33,使用map把每个元素传给process_int转成字符串
blue_nums = list(map(process_int,range(1,17)))
#蓝球,范围在1-16
res_list = []#保存所有的结果,用来写到文件里面
for i in range(1,num+1):
red_num = random.sample(red_nums, 6)
blue_num = random.sample(blue_nums, 1)
res = red_num+blue_num
format_str = '第%s个:红球:%s 蓝球:%s'%(i,' , '.join(res[:6]),res[-1])
res_list.append(format_str+'\n')
print(format_str)
cur_time = time.strftime('%Y.%m.%d %H_%M_%S')
with open('%s.txt'%cur_time,'w',encoding='utf-8') as fw:
fw.writelines(res_list)
if __name__ =='__main__':
nums = input('请输入你要产生多少条双色球号码:') #.strip()
tickets(int(nums))
函数解释:
(1)0python range() 函数可创建一个整数列表。
range(start, stop[, step])
参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
(2)map() 会根据提供的函数对指定序列做映射。
map(function, iterable, ...)
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
参数说明:
- function -- 函数
- iterable -- 一个或多个序列
(3)random.sample(red_nums, 6) randon下的sample()函数,指从一组数据“red_nums”中,随机抽取6个不重复数值,即不放回抽数。
参考:https://javywang.blog.csdn.net/article/details/90667570 “Python不重复批量随机抽样 random.sample() 和 numpy.random.choice() 的优缺点”
(4).strip()
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
脚本中这一点,我给去掉了,因为老是数据类型报错。
PS:关于缩进和空格的报错问题“IndentationError: unindent does not match any outer indentation level笔记” 这是我用Notepad++按照该链接调整Notepad++设置之后的脚本样子,可供参考。

python—模拟生成双色球号的更多相关文章
- python—模拟生成双色球号和大乐透号
下边这个脚本,比较适合初级学习基本python语法用.但是,不精炼建议可参考https://www.cnblogs.com/Formulate0303/p/14031748.html的写法. 大乐透玩 ...
- 用python 实现生成双色球小程序
生成双色球小程序: #输入n,随机产生n条双色球号码,插入n条数据库 #表结构: seq CREATE TABLE `seq` ( `id` int(11) NOT NULL AUTO_INCREME ...
- 如何用python批量生成真实的手机号码
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Python测试社区 1目 标 场 景 平时在工作过程中,偶尔会需要大 ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- Python模拟弹道轨迹
http://www.itongji.cn/cms/article/articledetails?articleid=5029 最近美国把萨德系统部署到韩国,一时心血来潮就用python模拟最简单的弹 ...
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- Python模拟登陆TAPD
因为在wiki中未找到需要的数据,查询也很迷,打算用python登录tapd抓取所需项目下的wiki数据,方便查找. 2018-9-30 19:12:44 几步走 模拟登录tapd 抓取wiki页左侧 ...
- Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享 支付宝十年账单上的数字有点吓人,但它统计的项目太多,只是想看看到底单纯在淘宝上支出了多少,于是写了段脚本,统计任意时间段淘宝订单的消费情况,看 ...
- 朝韩危机-Python模拟导弹互射
萨德系统是麻省理工学院的林肯实验室牵头开发的.林肯实验室可以说是美军方手中的一张王牌.二个反导系统(末段高空区域导弹防御(THAAD)系统,和 国家导弹防御系统(NMD))均由实验室牵头.它既是技术支 ...
随机推荐
- oo第一次博客-三次表达式求导的总结与反思
一.问题回顾与基本设计思路 三次作业依次是多项式表达式求导,多项式.三角函数混合求导,基于三角函数和多项式的嵌套表达式求导. 第一次作业想法很简单,根据指导书,我们可以发现表达式是由各个项与项之间的运 ...
- Noip模拟10 2021.6.27
T1 入阵曲 好了,又一个考试败笔题. 也就是在那个时候,小 F 学会了矩阵乘法.让两个矩阵乘几次就能算出斐波那契数, 真是奇妙无比呢. 不过, 小 F 现在可不想手算矩阵乘法--他觉得好麻烦.取而代 ...
- 无缓存交换 牛客网 程序员面试金典 C++ Python
无缓存交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值. 给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回 ...
- cf13A Numbers(,,)
题意: Little Petya likes numbers a lot. He found that number 123 in base 16 consists of two digits: th ...
- JAVA笔记14__多线程共享数据(同步)/ 线程死锁 / 生产者与消费者应用案例 / 线程池
/** * 多线程共享数据 * 线程同步:多个线程在同一个时间段只能有一个线程执行其指定代码,其他线程要等待此线程完成之后才可以继续执行. * 多线程共享数据的安全问题,使用同步解决. * 线程同步两 ...
- Win powershell执行策略配置
参考连接:https://blog.csdn.net/jeffxu_lib/article/details/84710386 参考连接:http://www.cragsman.org/index.ph ...
- CSP2020-儒略历
大家可以在洛谷提交: 题目描述 为了简便计算,天文学家们使用儒略日(Julian day)来表达时间.所谓儒略日,其定义为从公元前 4713 年 1 月 1 日正午 12 点到此后某一时刻间所经过的天 ...
- 一、spring 环境搭建
一.springtoolSuite4下载 1.概述 Spring Tools 4 是适用于您最喜欢的编码环境的下一代 Spring 工具.它主要从头开始重建,为开发基于 Spring 的企业应用程序提 ...
- Uncaught (in promise) Error: Request failed with status code 500解决方案
今天又学到一种修改bug的方法 : let newpwd = crypto.createHash('md5').update(req.body.upwd).digest('hex'); 在点击按钮加 ...
- 数据库炸了----我就重启了一下啊(Communications link failure)
重启数据库后,数据库大部分时间连不上了:连续请求不会报错,请求间隔时间稍微长一点就会报错报错如图: com.mysql.cj.jdbc.exceptions.CommunicationsExcepti ...