Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104504
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 577
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-16 09:51
个人简介

啄木鸟专吃虫,故名啄木鸟。

分类: Python/Ruby

2014-08-21 15:54:22

python中的random模块主要用于产生随机数或有序的数,今天学习其主要的几个函数:
一.random() 返回一个浮点数   0<=n<=1.0
>>> random.random()
0.4813484817664019
>>> random.random()
0.5875121706976905
二.choice() 随机返回序列中的一个元素,函数模型为:random.choice(seq)
>>> s = ['1',2,'s','g',5,8]
>>> random.choice(s)
5
>>> random.choice(s)
's'
三. randint() 返回一个区间的随机整数n,函数模型为:random.randint(start,stop)    start<=n<=stop
>>> random.randint(3,18)
6
>>> random.randint(3,18)
18
四.randrange() 返回一个区间的随机整数,并且有步长限定。函数模型为:random.randrange([start], stop[, step])   在区间a-b之间,已d为步长,默认步长为1,默认start为1     a<=n<=b
>>> random.randrange(1,5,2)#1-5之间步长为2,那么适合的只有1,3,5
3
>>> random.randrange(1,5,2)
1
>>> random.randrange(5)
1
>>> random.randrange(5)
4
五.shuffle()   原地打乱序列元素顺序(sorted也是原地排序),其返回都是None,:函数模型shuffle(seq)
>>> s
[8, 2, '1', 5, 'g', 's']
>>> random.shuffle(s)
>>> s
['g', 5, '1', 's', 8, 2]
>>> p = random.shuffle(s)
>>> print p
None
六.sample()  返回从指定序列中获取指定长度n的片段,函数原型为:random.sample(seq,n),不改变元序列
>>> s
[5, '1', 8, 2, 's', 'g']
>>> t = random.sample(s,3)
>>> t
['s', 2, '1']
>>> s
[5, '1', 8, 2, 's', 'g']
七.加一个uniform()
random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a >>> random.uniform(8.3,4.9)
7.336785943416531
>>> random.uniform(3,9)
3.196877306915228
八.再说一句range(),这可不是random模块中的 ,range这是一个内建函数
>>> range(3,6)
[3, 4, 5]
>>> range(3,6,2)
[3, 5]
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(-2,-10,-2)
[-2, -4, -6, -8]
>>> range(-1,-10,-2)
[-1, -3, -5, -7, -9]

阅读(2692) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~