本文实例讲述了Python随机生成手机号、数字的方法。分享给大家供大家参考,具体如下:
Python随机产生手机号、数字。代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
# -*- 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.
1
2
3
4
|
>>> random.randrange( 5 )
2
>>> random.randrange( 1 , 5 )
1
|
(2)choice: 数据源是range(10),也就是从0~9之间随机选择一个数字,多次调用可能产生重复值
1
2
3
4
5
6
7
8
|
>>> 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之间的随机小数
1
2
3
4
5
|
>>> import random
>>> random.random()
0.7379992978183179
>>> random.random()
0.4720995823183177
|
(4)sample:数据源是range(30,60,3),从30~59之间(步进是3),也就是30、33、36。。。这样的数字中,选择2个,这2个数字不会重复
1
2
3
4
5
6
|
>>> 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:要返回相同的随机数,可以设置相同的种子
1
2
3
4
5
6
|
>>> random.seed( 5 )
>>> random.random()
0.6229016948897019
>>> random.seed( 5 )
>>> random.random()
0.6229016948897019
|
(6)shuffle:随机排列
1
2
3
4
5
6
|
>>> 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 ]
|