python random详解
2023-12-13 14:19:01
文章目录
- random
- 简单示例
- 常用的方法及其解释和例子:
- 1. random():该方法返回一个0到1之间的随机浮点数。例如:
- 2. randint(a, b):该方法返回一个指定范围内的随机整数,其中参数a是下限,参数b是上限。生成的随机数n满足a <= n <= b。例如:
- 3. uniform(a, b):该方法返回一个指定范围内的随机浮点数,其中参数a是下限,参数b是上限。生成的随机数n满足a <= n <= b。例如:
- 4. choice(sequence):该方法从给定的序列中随机选择一个元素。例如:
- 5. sample(population, k):该方法从给定序列中随机选择指定数量的元素,并返回这些元素组成的列表。例如:
- 6. shuffle(sequence):该方法将给定序列的元素打乱顺序。例如:
- 7. random.randrange(start, stop[, step]):该方法返回一个在指定范围内的随机整数。参数start是下限,参数stop是上限,参数step是步长。生成的随机数n满足start <= n < stop。例如:
- 8. random.randfloat(a, b):该方法返回一个指定范围内的随机浮点数,其中参数a是下限,参数b是上限。生成的随机数n满足a <= n <= b。例如:
- 9. random.getrandbits(k):该方法返回k个随机比特位所表示的整数。生成的随机数n满足0 <= n < 2^k。例如:
- 10. random.betavariate(alpha, beta):该方法返回一个根据Beta分布生成的随机数。生成的随机数n满足0 <= n <= 1。例如:
- 12. random.expovariate(lambda):该方法返回一个根据指数分布生成的随机数。lambda是参数,表示单位时间内随机数的平均出现率。例如:
- 13. random.normalvariate(mu, sigma):该方法返回一个根据正态分布生成的随机数。mu是平均值,sigma是标准差。生成的随机数n满足mu - 3*sigma <= n <= mu + 3*sigma。例如:
- 14. random.weibullvariate(alpha, beta):该方法返回一个根据Weibull分布生成的随机数。alpha是分布的形状参数,beta是分布的尺度参数。生成的随机数n满足0 <= n <= 1。例如:
- 15. random.triangular(low, high, mode):该方法返回一个指定范围内的随机数,并根据给定的mode(中点)进行对称性处理。生成的随机数n满足low <= n <= high。例如:
- 16. random.gauss(mu, sigma):该方法返回一个根据高斯分布生成的随机数。mu是平均值,sigma是标准差。生成的随机数n满足mu - 3*sigma <= n <= mu + 3*sigma。例如:
- 17.random.seed:随机种子(Random Seed)。随机种子是用于生成随机数序列的初始值,如果使用相同的随机种子,则生成的随机数序列将相同。可以在程序开始时设置一个随机种子,以确保每次运行程序时生成的随机数序列是相同的。例如:
- 例:假设我们正在开发一个彩票游戏,需要生成一组随机数字作为中奖号码。我们可以使用random模块的randint()函数来生成指定范围内的随机整数。
random
Python的random模块是用于生成随机数的。它可以生成各种类型的随机数,包括随机浮点数、随机整数、随机选择序列等。
简单示例
1. 生成随机浮点数:
import random
x = random.random() # 生成0到1之间的随机浮点数
print(x)
2. 生成指定范围内的随机整数:
import random
x = random.randint(1, 100) # 生成1到100之间的随机整数,包含1和100
print(x)
3. 从序列中随机选择元素:
import random
my_list = [1, 2, 3, 4, 5]
x = random.choice(my_list) # 从my_list中随机选择一个元素
print(x)
4. 打乱序列顺序:
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list) # 将my_list的顺序打乱
print(my_list)
常用的方法及其解释和例子:
1. random():该方法返回一个0到1之间的随机浮点数。例如:
import random
x = random.random()
print(x) # 输出:0.23214654274405987
2. randint(a, b):该方法返回一个指定范围内的随机整数,其中参数a是下限,参数b是上限。生成的随机数n满足a <= n <= b。例如:
import random
x = random.randint(1, 10) # 输出:3
3. uniform(a, b):该方法返回一个指定范围内的随机浮点数,其中参数a是下限,参数b是上限。生成的随机数n满足a <= n <= b。例如:
import random
x = random.uniform(1, 3) # 输出:1.2345678912345679
4. choice(sequence):该方法从给定的序列中随机选择一个元素。例如:
import random
my_list = [1, 2, 3, 4, 5]
x = random.choice(my_list) # 输出:3
5. sample(population, k):该方法从给定序列中随机选择指定数量的元素,并返回这些元素组成的列表。例如:
import random
my_list = [1, 2, 3, 4, 5]
x = random.sample(my_list, 2) # 输出:[3, 4]
6. shuffle(sequence):该方法将给定序列的元素打乱顺序。例如:
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list) # 将my_list的顺序打乱:[3, 2, 5, 1, 4]
print(my_list) # 输出:[3, 2, 5, 1, 4]
7. random.randrange(start, stop[, step]):该方法返回一个在指定范围内的随机整数。参数start是下限,参数stop是上限,参数step是步长。生成的随机数n满足start <= n < stop。例如:
import random
x = random.randrange(1, 10) # 输出:3
8. random.randfloat(a, b):该方法返回一个指定范围内的随机浮点数,其中参数a是下限,参数b是上限。生成的随机数n满足a <= n <= b。例如:
import random
x = random.randfloat(1, 3) # 输出:1.2345678912345679
9. random.getrandbits(k):该方法返回k个随机比特位所表示的整数。生成的随机数n满足0 <= n < 2^k。例如:
import random
x = random.getrandbits(10) # 输出:37
10. random.betavariate(alpha, beta):该方法返回一个根据Beta分布生成的随机数。生成的随机数n满足0 <= n <= 1。例如:
import random
x = random.betavariate(2, 5) # 输出:0.8380302685376593
12. random.expovariate(lambda):该方法返回一个根据指数分布生成的随机数。lambda是参数,表示单位时间内随机数的平均出现率。例如:
import random
x = random.expovariate(0.5) # 输出:0.6998649274150243
13. random.normalvariate(mu, sigma):该方法返回一个根据正态分布生成的随机数。mu是平均值,sigma是标准差。生成的随机数n满足mu - 3sigma <= n <= mu + 3sigma。例如:
import random
x = random.normalvariate(0, 1) # 输出:-0.2924076542778294
14. random.weibullvariate(alpha, beta):该方法返回一个根据Weibull分布生成的随机数。alpha是分布的形状参数,beta是分布的尺度参数。生成的随机数n满足0 <= n <= 1。例如:
import random
x = random.weibullvariate(2, 5) # 输出:0.27486544133783987
15. random.triangular(low, high, mode):该方法返回一个指定范围内的随机数,并根据给定的mode(中点)进行对称性处理。生成的随机数n满足low <= n <= high。例如:
import random
x = random.triangular(1, 10, 5) # 输出:5.286543209876543
16. random.gauss(mu, sigma):该方法返回一个根据高斯分布生成的随机数。mu是平均值,sigma是标准差。生成的随机数n满足mu - 3sigma <= n <= mu + 3sigma。例如:
import random
x = random.gauss(0, 1) # 输出:-1.3954670247686323
17.random.seed:随机种子(Random Seed)。随机种子是用于生成随机数序列的初始值,如果使用相同的随机种子,则生成的随机数序列将相同。可以在程序开始时设置一个随机种子,以确保每次运行程序时生成的随机数序列是相同的。例如:
import random
random.seed(123) # 设置随机种子
x = random.randint(1, 10) # 生成随机数
print(x) # 输出:3
在这个例子中,我们首先使用random.seed()
函数将随机种子设置为123,然后使用random.randint()
函数生成一个1到10之间的随机整数。由于我们使用了相同的随机种子,因此每次运行程序时生成的随机数序列将是相同的。
例:假设我们正在开发一个彩票游戏,需要生成一组随机数字作为中奖号码。我们可以使用random模块的randint()函数来生成指定范围内的随机整数。
import random
# 生成1到33之间的6个不重复的随机整数
winning_numbers = []
while len(winning_numbers) < 6:
number = random.randint(1, 33)
if number not in winning_numbers:
winning_numbers.append(number)
# 输出中奖号码
print("中奖号码是:", winning_numbers)
首先生成一个空的winning_numbers列表,然后在一个循环中使用randint()函数生成1到33之间的随机整数,检查它是否已经存在于winning_numbers列表中,如果不存在则将其添加到列表中。循环直到生成的随机数个数达到6个为止。最后,输出中奖号码。
安装hydra
pip install hydra-core --upgrade
文章来源:https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/134878170
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!