Python如何生成随机数?
Python包含一个内置的包,即random模块,用于生成随机数。
在本文中,我们将向您展示如何使用不同的方法在Python中生成随机数:
使用random.seed()方法
使用random.randrange()方法
使用random.randint()方法
使用random.random()
使用random.choice()方法
使用random.uniform()方法
方法1:使用random.seed()方法
随机数生成器使用seed()方法初始化。
为了生成随机数,随机数生成器需要一个起始数值(种子值)。
注意 - 随机数生成器默认使用当前系统时间。
要更改随机数生成器的起始数字,请使用seed()方法。
如果您两次使用相同的种子值,您将获得相同的随机数。
语法
random.seed(x, version)
参数
x(可选) - 生成随机数所需的种子值。如果它是整数,则直接使用;否则,必须将其转换为整数。
version - 一个整数,指定如何将'x'参数转换为整数。默认值为2。如果值为None,则生成器使用当前系统时间。
下面的程序使用random.random()和seed()方法从列表中返回一个随机元素:
import random # Setting the seed value to 5 random.seed(5) print(random.random()) # Setting the same seed value as above i.e 5 random.seed(5) print(random.random())
输出
执行上述程序后,将生成以下输出:
0.62290169489 0.62290169489
我们将种子值设置为5,然后使用random模块的random()函数生成一个随机值。然后我们再次将种子值设置为5,并使用random()函数生成与之前相同的随机值。这就是seed()函数的使用方法。
方法2:使用random.randrange()方法
randrange()方法从指定的范围内随机选择一个元素并返回它。
语法
random.randrange(start, stop, step)
参数
start(可选) - 表示起始位置的整数。默认为0
stop(必填) - 表示结束位置的整数。
step(可选) - 表示增量的整数。默认为1。
下面的程序使用randrange()函数返回给定范围内的随机数:
import random # generating a random number between 10(included) and 20(not included) print("Random Number Generated = ", random.randrange(10, 20))
输出
执行上述程序后,将生成以下输出:
Random Number Generated = 13
这里使用randrange()函数从一个范围内生成随机数。我们传递起始值(下限)和结束值(上限)作为参数,它会在这些范围内生成一个随机数。
方法3:使用random.randint()方法
randint()方法返回一个整数,表示从给定范围内随机选择的元素。
注意 - randint()方法是randrange(start, stop+1)的别名。
语法
random.randint(start, stop)
参数
start(必填) - 表示起始位置的整数。
stop(必填) - 表示结束位置的整数。
下面的程序使用randint()函数返回给定范围内的随机数:
import random # generating a random number between 10 and 20(both 10 and 20 numbers included) print("Random Number Generated = ", random.randint(10, 20))
输出
执行上述程序后,将生成以下输出:
Random Number Generated = 20
randrange()和randint()之间的区别在于,randint()包含上限在范围内,而randrange()不包含上限。我们可以向randrange()函数添加步长值,但不能向randint()函数添加。
方法4:使用random.random()
random()方法生成0到1之间的随机浮点数。
语法
random.random()
参数
此random()方法不接受任何参数。
下面的程序使用random()函数返回给定范围内的随机数:
import random # generating a random floating-point number between 0 and 1 print("Random Number Generated = ", random.random())
输出
Random Number Generated = 0.15685132230226662
方法5:使用random.choice()方法
choices()方法返回一个列表,其中包含从提供的序列中随机选择的元素。
序列可以是字符串、范围、列表、元组或其他任何东西。
下面的程序从列表中返回随机数:
import random #Input list given_List = [ 1, 6, 3, 9, 10, 24, 475, 483, 2656] print('The first Random Element from the list:',random.choice(given_List)) print('The Second Random Element from the list:',random.choice(given_List))
输出
The first Random Element from the list: 6 The Second Random Element from the list: 24
方法6:使用random.uniform()方法
uniform()方法生成两个输入值之间的随机浮点数(包括两个数字)。
语法
random.uniform(x, y)
参数
x(必填) - 表示最低可能结果的数字
y(必填) - 表示最高可能结果的数字
下面的程序使用uniform()函数返回给定范围内的随机浮点数:
import random # generating a random number between 10 and 20(both 10 and 20 are also included) print("Random Number Generated = ", random.uniform(10, 20))
输出
Random Number Generated = 12.845596876772472
在这种情况下,uniform()函数用于从一个范围内生成一个随机浮点数。我们将其起始值(下限)和结束值(上限)作为参数传递,它会在这两个范围内生成一个随机的浮点数/十进制数。
结论
在本文中,我们学习了如何使用六种不同的方法生成随机数:
seed(),randrange(),randint(),choice(),random(),uniform()。我们还学习了如何使用choice()函数从列表/字符串/元组中获取随机元素。