编写一个 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)
