Python 随机数生成器

编写一个 Python 程序来生成一个介于 0 和 n 之间的随机数(浮点数),或者一个用于范围内随机整数的生成器。要使用以下函数,我们需要导入 random 模块。

请记住,下面显示的输出可能与您获得的不同。因为这些数字函数每次调用时都会生成随机数。

Python 0 到 1 之间的随机数生成器

random() 函数生成一个介于 0 和 1 之间的数字,数据类型为浮点数。因此,下面的数字生成器示例返回从 0 到 1 的随机浮点数。

import random as rd

rnum = rd.random()

print(rnum)
0.9625965525945374

使用 randint 在范围内生成 Python 随机整数

randint() 函数接受两个参数。第一个参数是起始值,第二个参数是结束值。在这里,起始值是 0,结束值是 n。

如果您想生成一个介于起始值和另一个非结束值之间的随机数,请使用下面的代码。例如,下面的代码返回一个介于 10 和 100 之间的数字。

rnum = rd.randint(10, 100)

print(rnum)
70

使用 randrange 在范围内生成 Python 随机整数

randrange() 函数在需要从整数范围内选择或生成随机数时非常有用。如果您传递步长值,它将仅通过跳过一定数量的数字来从整数集中选择一个值。在最后一个语句中,我们在步长值之后传递了一个整数。

rnum1 = rd.randrange(10)
print(rnum1)

rnum2 = rd.randrange(5, 95)
print(rnum2)

rnum3 = rd.randrange(10, 200, 2)
print(rnum3)
2
61
186

For 循环示例

如果我们结合 for 循环使用上述函数,则可以有效地使用假数据进行测试或模拟。默认情况下,range 函数在每一步都会跳过一个数字。因此,我们可以看到 range 不需要步长参数。如果您想跳过其他数字。

使用 for 循环和 randint 生成 Python 随机数

因为这会告诉 for 循环在每次迭代时生成一个整数。下面的代码生成介于 100 和 200 之间的数字。

我们还添加了一个额外的 print 语句来打印每次 for 循环迭代生成的数字。通过这个范围内的随机整数生成器示例,您可以更好地理解它。

rndList = []

for i in range(1, 11):
    rnum = rd.randint(10, 100)
    rndList.append(rnum)
    print(rnum)

print(rndList)
16
23
72
51
63
78
39
47
80
46
[16, 23, 72, 51, 63, 78, 39, 47, 80, 46]

使用 for 循环和 randrange 生成 Python 随机数

在接下来的两个示例中,我们没有使用 import 语句。为了测试第二个和第三个示例,请添加上面的 import 语句。

在第二个示例中,我们将 Python randrange 函数与 for 循环一起使用。

rndList = []

for i in range(0, 8):
    rnum = rd.randrange(5, 95)
    rndList.append(rnum)
    print(rnum)

print(rndList)
70
62
58
53
44
60
79
73
[70, 62, 58, 53, 44, 60, 79, 73]

使用 randint 生成随机浮点数

在这个第三个 Python 示例中,我们将其用于 for 循环中,以打印介于 10 和 100 之间的十个随机浮点数。

rndList = []

for i in range(1, 11):
    rnum = rd.randint(10, 100)
    rndList.append(rnum)
    print(i, " = ", rnum)

print(rndList)
1 =  46
2 =  28
3 =  95
4 =  53
5 =  55
6 =  68
7 =  70
8 =  94
9 =  65
10 =  95
[46, 28, 95, 53, 55, 68, 70, 94, 65, 95]

使用 sample() 生成 1 到 10 之间的随机数

random 模块包含一个 sample() 函数,该函数允许您从列表或元组中选择一个或多个元素。您可以使用 choice 函数从序列中选择一个元素。要使用此功能,请传递一个序列以及样本大小(要采样的元素数量)。

它将返回序列中的一部分元素。例如,下面的程序返回介于 1 和 10 之间的八个数字。

rndList = rd.sample(range(1, 10), 8)

print(rndList)
[2, 4, 1, 5, 7, 8, 6, 3]

范围内的随机整数(n 到 n)

在这里,我们允许用户输入起始值和结束值,并使用不同的函数在这些值之间生成数字。这里,代码可能与图像略有不同,因为我们删除了其中的额外文本以保持代码简单。

s = int(input("Please enter the Starting Value = "))
e = int(input("Please enter the Ending Value   = "))

rnum1 = rd.randint(s, e)
print("using randint   = ", rnum1)

rnum2 = rd.randrange(s, e)
print("using randrange = ", rnum2)

rndList = rd.sample(range(s, e), 7)
print("List using sample    = ", rndList)

rndList1 = []
rndList2 = []

for i in range(0, 7):
    rnum3 = rd.randint(s, e)
    rndList1.append(rnum3)
    rnum4 = rd.randrange(s, e)
    rndList2.append(rnum4)

print("List using randint   = ", rndList1)
print("List using randrange = ", rndList2)
Random Number Generator