记random的几个函数用法及区别:random(),randint(),randrange(),uniform()

1.random.random()
作用:生成[0.0,1.0)之间的随机小数。注意,不包含1.0。
参数:无

>>> from random import *
>>> seed(10)
>>> random()
0.5714025946899135
>>> random()
0.4288890546751146
>>> random()
0.5780913011344704
>>> random()
0.20609823213950174
>>> seed(10)#再次设置相同的种子,则后续产生的随机数相同。
>>> random()
0.5714025946899135
>>> random()
0.4288890546751146
>>> random()
0.5780913011344704
>>> random()
0.20609823213950174
>>> 

设置随机数种子的好处是可以准确复现随机数序列,用于重复程序的运行轨迹,对于仅使用随机数但不需要复现的情形,可以不用设置随机数种子。

2.random.randint()函数生成[a,b]之间的随机整数,函数定义如下:
random.randint(a,b)
作用:生成[a,b]之间的随机整数。注意,此处为闭区间,b可以取到。
参数:
a,b:一个整数。

>>> from random import *
>>> randint(1,10)
8
>>> randint(1,1000)
844
>>> randint(-1000,1000)
-432
>>> 

3.random.randrange()函数生成一个随机整数,函数定义如下:
random.randrange(start,stop,step)
作用:生成一个[start,stop)之间以step为步数的随机整数,使用方法与range()相似。
参数:
start:一个整数,表示开始整数。
stop:一个整数,表示结束整数。
step:一个整数,表示步数。

>>> from random import *
>>> seed(10)
>>> randrange(0,1000,5)
730
>>> randrange(0,1000,5)
40
>>> randrange(0,1000,5)
545
>>> randrange(0,1000,5)
615


>>> seed(10)
>>> randrange(0,1000,5)
730
>>> randrange(0,1000,5)
40
>>> randrange(0,1000,5)
545
>>> randrange(0,1000,5)
615
>>> 

4.random.uniform()函数生成一个[a,b]之间的随机小数,函数定义如下:
random.uniform(a,b)
作用:生成一个[a,b]之间的随机小数。这里是两边闭区间。注意,随机数可能等于b。
参数:
a、b:一个整数或浮点数。

>>> from random import *
>>> uniform(10,100)
62.02821710210233
>>> uniform(1.1,99.8)
21.441895512168824
>>> uniform(1.1,99.8)
81.37480750896748
>>> 

总结:
1.random()没有参数,生成[0.0,1.0)之间的随机小数。左闭右开,不包含1.0。
2.randint(a,b)生成[a,b]之间的随机整数,两边闭区间,都可以取到。
3.randrange(start,stop,step)生成一个[start,stop)之间以step为步长的随机整数,左闭右开。
4.uniform()函数生成一个[a,b]之间的随机小数,两边闭区间,都可以取到。

此处记一个二级题库程序,和答案写的不太一样:

import random
brandlist = ['三星','苹果','vivo','OPPO','魅族']
random.seed()
name = brandlist[random.randint(0,len(brandlist))-1]
print(name)

因为randint(a,b)两边都可以取到,所以len()后要减去1才行。range(a,b)的b是取不到的,和range()是不一样的,这里要注意一下。

  • 13
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
np.random.uniform() 和 np.random.randint() 是 numpy 库中用于生成随机数的函数,它们的主要区在于生成的随机数的分布和取值范围。 - np.random.uniform() 生成的是服从均匀分布的随机数,即生成的随机数在指定的最小值和最大值之间是等概率分布的。它接受最小值和最大值作为参数,并可以指定生成随机数的数量。 - np.random.randint() 生成的是服从离散均匀分布的随机整数,即生成的随机整数在指定的最小值和最大值之间是等概率分布的。它接受最小值和最大值作为参数,并可以指定生成随机整数的数量。 具体区别如下: - 参数类型:np.random.uniform() 的参数可以是浮点数,而 np.random.randint() 的参数必须是整数。 - 生成的值类型:np.random.uniform() 生成的是连续的浮点数,而 np.random.randint() 生成的是离散的整数。 - 取值范围:np.random.uniform() 生成的随机数可以取到最小值和最大值,而 np.random.randint() 生成的随机整数只能取到最小值,但不包含最大值。 举个例子,假设要生成一个范围在0到1之间的随机数,可以使用以下代码: ```python import numpy as np uniform_num = np.random.uniform(0, 1) print(uniform_num) ``` 输出: ``` 0.674735336768 ``` 如果要生成一个范围在0到9之间的随机整数,可以使用以下代码: ```python import numpy as np int_num = np.random.randint(0, 10) print(int_num) ``` 输出: ``` 6 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值