Python随机生成手机号、数字的方法详解
本文实例讲述了Python随机生成手机号、数字的方法。分享给大家供大家参考,具体如下:
Python随机产生手机号、数字。代码如下:
#-*-coding:gbk-*- importrandom #随机产生26个手机号:以13开头,后面跟一位4~9之间的任意一位数字,后面是8位随机数字 for_inrange(26): print('13'+ str(random.randrange(4,10))+ ''.join(str(random.choice(range(10)))for_inrange(8)) ) #随机产生26个数字:产生一个0~1之间的随机小数,乘1000,四舍五入到小数后3位,加上随机产生的30~59之间的数字 #由于sample函数返回的结果是list类型的,这里通过[0]取出第1个值 foriinrange(26): print(round(random.random()*1000,3)+random.sample(range(30,60,3),2)[0])
函数简介:
(1)randrange:这个函数会产生范围是4~9之间的任意一个数字,注意不包含10.
>>>random.randrange(5) 2 >>>random.randrange(1,5) 1
(2)choice:数据源是range(10),也就是从0~9之间随机选择一个数字,多次调用可能产生重复值
>>>random.choice(['a','b','c','d','e']) 'b' >>>random.choice(['a','b','c','d','e']) 'd' >>>random.choice(['a','b','c','d','e']) 'c' >>>random.choice(['a','b','c','d','e']) 'b'
(3)random:产生从0~1之间的随机小数
>>>importrandom >>>random.random() 0.7379992978183179 >>>random.random() 0.4720995823183177
(4)sample:数据源是range(30,60,3),从30~59之间(步进是3),也就是30、33、36。。。这样的数字中,选择2个,这2个数字不会重复
>>>random.sample(['a','b','c','d','e'],2) ['d','b'] >>>random.sample(['a','b','c','d','e'],2) ['a','b'] >>>random.sample(['a','b','c','d','e'],2) ['e','d']
其他函数:
(5)seed:要返回相同的随机数,可以设置相同的种子
>>>random.seed(5) >>>random.random() 0.6229016948897019 >>>random.seed(5) >>>random.random() 0.6229016948897019
(6)shuffle:随机排列
>>>t=[0,1,2,3,4,5,6] >>>t [0,1,2,3,4,5,6] >>>random.shuffle(t) >>>t [5,4,2,0,6,1,3]
PS:这里再提供几款相关工具供大家参考使用:
在线随机生成个人信息数据工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在线随机字符/随机密码生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
常用电话号码在线查询:
http://tools.jb51.net/bianmin/pub_tel
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。