Python 如何生成0到9之间的随机整数
在本篇文章中,我们将展示如何使用Python生成0到9之间的随机整数。以下是实现这个任务的各种方法:
- 使用randint()方法
-
使用randrange()方法
-
使用secrets模块
为了在特定范围内生成随机整数,Python支持多种函数。我们将讨论Python内置的random模块来生成随机数。
random模块提供的两个主要函数来生成随机整数是randint()和randrange()。为了生成随机值,还使用了一个名为secrets的第二个模块。
使用randint()方法
random.randint()方法用于返回指定范围内的随机整数。
注意
randint()方法不能使用浮点数。如果输入的值不是整数,将会引发ValueError:non-integer arg 1错误。
步骤
以下是执行所需任务的算法/步骤:
- 使用import关键字导入random模块。
-
使用random模块的randint()函数生成0到9之间的随机整数。
-
打印生成的0到9之间的随机整数。
示例
下面的程序使用random.randint()方法生成0到9之间的随机整数:
# importing random module
import random
# generating a random integer between 0 and 9 without using a loop
randomNumber = random.randint(0, 9)
# printing the random integer between 0 and 9
print("The generated random integer between 0 and 9 = ", randomNumber)
输出
执行后,上述程序将生成以下输出−
The generated random integer between 0 and 9 = 4
使用for循环和randint()生成0到9之间的一些随机数
步骤
以下是执行所需任务的算法/步骤:
- 使用import关键字导入 random 模块。
-
使用for循环遍历指定范围,使用 range() 函数(返回一个以0开始、默认增加1、在给定数字前停止的数字序列)。这里我们循环5次。
-
使用random模块的 randint() 函数生成0到9之间的随机整数。
-
打印生成的5个0到9之间的随机整数。
示例
以下程序使用for循环和random.randint()方法生成一些0到9之间的随机整数:
# importing random module
import random
print("The 5 generated random integers between 0 and 9 using for loop: ")
# traversing in the range from 0 to 5(excluded)
# (running the loop 5 times)
for i in range(5):
# generating a random integer between 0 and 9
randomNumber = random.randint(0, 9)
# printing the generated random integer
print(randomNumber)
输出
执行上述程序后,将生成以下输出 –
The 5 generated random integers between 0 and 9 using for loop:
7
2
4
8
5
使用randrange()方法
使用 random.randrange() 方法来返回指定范围内的随机整数。
语法
random.randrange(start, stop, step)
参数
- start(可选) – 表示起始位置的整数。默认为0。
-
stop(必需) – 表示结束位置的整数。
-
step(可选) – 表示递增的整数。默认为1。
步骤
以下是执行所需任务的算法/步骤 -。
- 使用import关键字导入random模块。
-
使用random模块的 randrange() 函数,在只传递 stop 参数的情况下生成0到9之间的随机整数。
-
打印生成的随机整数(范围:0到9)。
示例
以下程序使用random.randrange()方法生成一个介于0到9之间的随机整数-
# importing random module
import random
# generating a random integer between 0 and 9 without using loop
# we are only passing the stop value here
randomNumber = random.randrange(9)
# printing the random integer between 0 and 9
print("The generated random integer between 0 and 9 = ", randomNumber)
输出
执行上述程序后,将生成以下输出 –
The generated random integer between 0 and 9 = 2
使用for循环和randrange()方法生成0到9之间的一些随机数
示例
下面的程序使用random.randrange()方法和for循环生成一些0到9之间的随机整数 –
# importing random module
import random
print("The 5 generated random integers between 0 and 9 using for loop: ")
# traversing in the range from 0 to 5(excuded)
# (running the loop 5 times)
for i in range(5):
# generating random integer between 0 and 9
# we are passing the start, stop parameters here
randomNumber = random.randrange(0, 9)
# printing the generated random integer
print(randomNumber)
输出
在执行时,上述程序将生成以下输出 −
The 5 generated random integers between 0 and 9 using for loop:
6
1
7
2
2
使用secrets模块
要生成随机整数,我们可以使用secrets模块中的randbelow()函数。它生成具有高加密安全性的随机数。
在Python 3.6中,secrets模块是一个新模块。对于涉及安全或加密的目的,这比random模块更可取。
示例
以下程序使用for循环和randbelow()函数生成5个介于0和9之间的随机整数。
# importing randbelow function from secrets module
from secrets import randbelow
# traversing in the range from 0 to 5(excluded) using for loop
# (running the loop 5 times)
for i in range(5):
# generating a random integer between 0 and 9 using randbelow() function
print(randbelow(9))
生成的输出结果如下
在执行上述程序时,将生成以下输出结果−
0
5
4
4
8
结论
我们学习了两种不同的方法来生成0到9之间的随机整数。为了生成0到9之间的随机整数,我们使用了Python的随机模块中的两个函数,randint()和randrange()。我们还了解了在Python 3.x中引入的新的secrets模块。我们还讨论了这些函数的使用方式,包括使用循环和不使用循环。