Python随机生成手机号、数字的方法详解

yipeiwu_com6年前Python基础

本文实例讲述了Python随机生成手机号、数字的方法。分享给大家供大家参考,具体如下:

Python随机产生手机号、数字。代码如下:

# -*- coding:gbk -*-
import random
#随机产生26个手机号:以13开头,后面跟一位4~9之间的任意一位数字,后面是8位随机数字
for _ in range(26):
  print('13' +
     str(random.randrange(4,10))+
     ''.join( str(random.choice(range(10))) for _ in range(8) )
     )
#随机产生26个数字:产生一个0~1之间的随机小数,乘1000,四舍五入到小数后3位,加上随机产生的30~59之间的数字
#由于sample函数返回的结果是list类型的,这里通过[0]取出第1个值
for i in range(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之间的随机小数

>>> import random
>>> 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程序设计有所帮助。

相关文章

python整合ffmpeg实现视频文件的批量转换

转换工具层出不穷,ffmpeg才是全能的转换工具,只是不支持图形操作。 没有关系,命令行方式,在freebsd/linux下直接来 我们的思路是,设定一个文件夹存放源视频文件,pytho...

详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)

Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、dstack、row_stack、column_stack),r_和c_等类和函数...

Python不使用int()函数把字符串转换为数字的方法

不使用int()函数的情况下把字符串转换为数字,如把字符串"12345"转换为数字12345。 方法一:利用str函数 既然不能用int函数,那我们就反其道而行,用str函数找出每一位字...

python机器学习之神经网络(一)

python机器学习之神经网络(一)

python有专门的神经网络库,但为了加深印象,我自己在numpy库的基础上,自己编写了一个简单的神经网络程序,是基于Rosenblatt感知器的,这个感知器建立在一个线性神经元之上,神...

更改Ubuntu默认python版本的两种方法python-> Anaconda

更改Ubuntu默认python版本的两种方法python-> Anaconda

你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用。 $ ls /usr/bin/python* /usr/bin/python /us...