在 Python 中生成随机质数
本教程演示了在 Python 中生成和输出任何随机质数的方法。
质数是在编程中使用的非常有用的常量,尤其是在密码学中。质数的使用对于加密和散列至关重要,因为它们可用于加密和散列敏感数据,并防止它们被随意解密。
创建一个函数以生成给定范围的随机质数
质数只有 2 个因数(因数是可以将另一个数相除并得到整数的数)。质数只能被 1 及其自身整除。
从技术上讲,不可能生成一个从 0 到无穷大的随机质数,因为这将需要很多处理能力才能使其保持数量庞大。
鉴于此,需要包含一定范围的数字作为参数,以在设定范围内收集质数。
首先要做的是创建一个函数,以将给定范围内的所有质数收集到一个列表中。对于此函数,循环该范围内的所有数字,并检查是否只有 1 和它本身是可除数。
def primesInRange(x, y):
prime_list = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list.append(n)
return prime_list
print(primesInRange(100, 250))
输出将打印从给定范围 100 到 250 的所有质数。
输出:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241]
下一步是根据函数 primesInRange()
返回的质数范围内生成一个随机数。
在 Python random
模块下,它具有一个名为 choice()
的函数,该函数从给定的可迭代或序列中选择一个随机元素。
给定上面实现的函数 primesInRange()
,使用列表变量捕获返回值,并使用 random.choice()
在列表中选择一个随机质数。使用 choice()
函数之前,不要忘记导入 random
模块。
import random
prime_list = primesInRange(100, 250)
randomPrime = random.choice(prime_list)
print("Generated random prime number: ", randomPrime)
样本随机输出:
Generated random prime number: 191
这是此解决方案的完整源代码。
import random
def primesInRange(x, y):
prime_list = []
for n in range(x, y):
isPrime = True
for num in range(2, n):
if n % num == 0:
isPrime = False
if isPrime:
prime_list.append(n)
return prime_list
prime_list = primesInRange(100, 250)
randomPrime = random.choice(prime_list)
print("Generated random prime number: ", randomPrime)
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串