Python 随机数

import random
a=random.randint(1,100)
print ('a='+str(a))

b=random.randint(3, 3)
print ('b='+str(b))

c=random.random() #生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)
print ('c='+str(c))

d=random.uniform(2, 4)
e=random.uniform(4, 2)
print ('d='+str(d))
print ('e='+str(e))

#random.randrange(start, stop, step)
f=random.randrange(4)            #[0, 1, 2, 3]
g=random.randrange(1, 4)         #[1, 2, 3]
print ('f='+str(f))
print ('g='+str(g))
print '------------'

#random.sample(population, k) 从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。
population=[1,3,3,24,4,5,7,3,8,0]
h=random.sample(population,5)
print h
print population


#random.shuffle(x)
x=[1,3,4,2,24,41,13]
i=random.shuffle(x)
print x
print i


结果:

a=5

b=3
c=0.566649830344
d=3.48932108327
e=3.84200455696
f=1
g=3
------------
[4, 3, 8, 1, 5]
[1, 3, 3, 24, 4, 5, 7, 3, 8, 0]
[1, 2, 24, 3, 41, 13, 4]

None



random模块的作用是产生随机数。之前的小游戏中用到过random中的randint:
import random
num = random.randint(1,100)

random.randint(a, b)可以生成一个a到b间的随机整数,包括a和b。
a、b都必须是整数,且必须b≥a。当等于的时候,比如:
random.randint(3, 3)
的结果就永远是3

除了randint,random模块中比较常用的方法还有:

random.random()
生成一个0到1之间的随机浮点数,包括0但不包括1,也就是[0.0, 1.0)。

random.uniform(a, b)
生成a、b之间的随机浮点数。不过与randint不同的是,a、b无需是整数,也不用考虑大小。
random.uniform(1.5, 3)
random.uniform(3, 1.5)
这两种参数都是可行的。
random.uniform(1.5, 1.5)永远得到1.5。

random.choice(seq)
从序列中随机选取一个元素。seq需要是一个序列,比如list、元组、字符串。
random.choice([1, 2, 3, 5, 8, 13]) #list
random.choice('hello') #字符串
random.choice(['hello', 'world']) #字符串组成的list
random.choice((1, 2, 3)) #元组
都是可行的用法。

random.randrange(start, stop, step)
生成一个从start到stop(不包括stop),间隔为step的一个随机数。start、stop、step都要为整数,且start<stop。
比如:
random.randrange(1, 9, 2)
就是从[1, 3, 5, 7]中随机选取一个。
start和step都可以不提供参数,默认是从0开始,间隔为1。但如果需要指定step,则必须指定start。
random.randrange(4) #[0, 1, 2, 3]
random.randrange(1, 4) #[1, 2, 3]
random.randrange(start, stop, step)其实在效果上等同于
random.choice(range(start, stop, step))

random.sample(population, k)
从population序列中,随机获取k个元素,生成一个新序列。sample不改变原来序列。

random.shuffle(x)
把序列x中的元素顺序打乱。shuffle直接改变原有的序列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值