Python 如何生成随机数?
pythonserver side programmingprogramming更新于 2025/12/10 11:28:17
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() 函数从列表/字符串/元组中获取随机元素。
相关文章
如何在 Python 中使用方法重载?
Python 中什么是不可变的?
Python 正则表达式中 '.' 、 '?' 和 '*' 有什么区别?
如何捕获 Python 正则表达式引发的异常?
用 Python 编写程序来计算总和为 k 的路径数
用 Python 编写程序,计算烧毁所有树木所需的天数
用 python 编写程序检查是否能通过放置运算符得出 24
用 Python 编写程序,用于查找解决 8 字谜游戏所需的步骤数
用 Python 编写程序检查移动 k 次并返回到第一位的方法数量
用 Python 编写程序,找出完成一些作业能获得的最高学分
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.w3schools.cn/python/
打印
下一节 ❯❮ 上一节