Python PrimePy模块

Python PrimePy模块

我们在学校的时候都学过质数,如果我们有人忘记了,不用担心。质数基本上是那些只能被1或自己整除的自然数,另一种定义是大于1并且没有除了自身或1外的完全可除因子的自然数。所有的质数都是奇数,除了’2’,它是唯一的偶数质数。

除了2和3外,所有的质数可以使用以下两种形式中的任何一种形式来表示:

(i) 6a + 1

(ii) 6a – 1

在上述给出的表达式中,’a’是一个自然数。

我们都可能听说过通过编程语言处理数字非常简单,这是因为大多数编程语言都为我们提供了可以用来分类和处理各种类型的数字的包,例如整数、自然数和其他类型。在程序中使用这些编程语言包非常容易处理数字、分类数字和处理数字。像其他编程语言一样,Python也为我们提供了多个包,我们可以在Python程序中使用这些包来处理和处理数字。其中一些包是内置的Python源码,而其他一些在使用时需要安装。PrimePy是Python的一个模块,它是我们上面提到的这些Python包之一。使用Python程序中的primepy模块,我们可以对质数进行许多操作,例如找到一个数字的质因数等。因此,在本教程中,我们将学习有关primepy模块,并了解如何在Python程序中使用它及其函数来处理质数以及其他数字。

PrimePy模块介绍

PrimePy是一个Python包或模块,它提供了多个函数,我们可以使用这些函数来计算与质数直接或间接相关的多个操作。该模块最大的优势是使用该模块可以在较短的时间内执行所有与质数相关的函数。由于质数没有任何因子,因此有时它们的处理变得非常困难。在这种情况下,primepy模块变得非常重要,因为它提供了可以用来轻松执行所有这些质数操作的函数。

PrimePy模块的安装

正如我们在介绍部分中所述,一些Python模块在Python源代码中不是内置的。primepy就是这样一个不内置的包,因此,如果我们想要使用Python的这个模块,我们首先必须在设备上安装这个模块。有多种安装方法可供选择,我们可以使用这些方法之一来安装primepy模块到我们的机器上,但在选择任何一种方法之前,我们应该尽量找出最简单和最简单的方法。因此,在本教程的这个部分中,我们使用pip安装程序安装方法在我们的系统中安装了primepy模块。使用pip安装程序方法安装primepy模块是最简单和最容易的方法,我们只需在终端shell中输入以下pip命令来安装该模块:

pip install primePy

一旦我们在系统的命令提示终端中写入上述给定的pip命令,我们只需按”enter”键,primepy模块的安装就会开始。现在,我们只需等待一段时间,直到成功安装该模块所需的所有依赖项。

Python PrimePy模块

正如我们所看到的,primepy模块已成功安装在我们的设备上,现在我们可以在Python程序中导入此模块,以使用该模块的函数来处理素数。

Python的PrimePy模块实现

我们可以在Python程序中使用primepy模块执行许多与素数直接或间接相关的功能。在将primepy模块导入程序之后,我们可以使用该模块的函数对素数执行所需的任务。

我们可以使用primepy模块的函数执行以下几个功能:

1) 检查素数

2) 返回’n’个素数

3) 返回前’n’个素数

4) 两个数字间的素数,以及其他许多功能

我们将在本章节示例程序中使用primepy模块的函数执行这些任务,这样我们就可以了解primepy模块的实现方式。

实现1:检查给定自然数是否为素数的函数:

我们可以使用primepy模块来确定给定的数字是否为素数。PrimePy模块提供了一个check()函数,我们可以用来检查数字是否为素数。以下是在Python程序中使用check()函数的语法:

>> prime.check(num)

在程序中的num = a given natural number

我们可以通过在以下示例程序中使用check()函数来理解primepy模块的check()函数的实现:

示例1: 看下面的Python程序,我们判断给定的数字是否为素数:

# Importing prime library from the Primepy module
from primePy import primes as pms
# Taking two natural numbers as user input
num1 = int(input("Enter first natural number: "))
num2 = int(input("Enter second natural number: "))
# Checking If user input numbers are prime
res1 = pms.check(num1)
res2 = pms.check(num2)
# Printing result in the output
print("Is the first natural number which is entered by user in input is prime? ", res1)
print("Is the second number entered by user is prime? ", res2)

输出:

Enter first natural number: 88
Enter second natural number: 673
Is the first natural number which is entered by the user in the input is prime?  False
Is the second number entered by user is prime?  True

如我们所见,输出以true和false的形式打印出来,说明用户输入的数字是素数还是非素数。我们可以使用primepy模块的check()函数编写任何Python程序来检查程序中给定的数字是否为素数。

实现2:在程序中打印出给定自然数的所有质因数:

使用primepy模块的函数,我们可以轻松地打印出程序中给定自然数的所有质因数。PrimePy模块提供了factors()函数,我们可以在任何示例程序中使用它来打印出给定用户输入数字或程序中给定数字的所有质因数。以下是在Python程序中使用factors()函数的语法:

>> prime.factors(num)

在程序中: num = 给定的自然数

通过在下面的示例程序中使用factors()函数,我们可以理解primepy模块的实现方式,以打印出自然输入数的所有素数因子:

示例2: 请看以下程序,我们找到并打印出给定用户输入数字的所有素数因子作为结果:

# Importing prime library from the Primepy module
from primePy import primes as pms
# Taking two natural numbers as user input
num1 = int(input("Enter first natural number: "))
num2 = int(input("Enter second natural number: "))
# Finding all prime factors of user input numbers
res1 = pms.factors(num1)
res2 = pms.factors(num2)
# Printing result of prime factors in the output
print("All prime factors of the first number entered by user: ", res1)
print("All prime factors of the second number entered by user: ", res2)

输出:

Enter first natural number: 243
Enter second natural number: 679
All prime factors of the first number entered by user:  [3, 3, 3, 3, 3]
All prime factors of the second number entered by user:  [7, 97]

正如我们所看到的,用户在输入中输入的两个数字的所有质因数都被打印在输出中,这就是我们如何知道任何给定数字的所有质因数。

实现3:打印一个数字的最小或第一个质因数:

这个primepy模块的实现与此模块的先前实现非常相似。这两个实现的唯一区别在于我们只会打印一个数字的第一个或最小质因数,而之前我们是打印给定数字的所有质因数。primepy模块提供了factor()函数,我们可以用它来打印任何给定数字的最小质因数。以下是在Python程序中使用factor()函数的语法:

>> prime.factor(num)

其中 num = 程序中给定的自然数

我们可以通过在以下示例程序中使用factor()函数来理解primepy模块的factor()函数的实现,以便打印出一个数字的第一个质因数:

示例3: 请查看以下程序,在这个程序中我们使用了factor()函数来打印出给定输入数字的最低或第一个质因数:

# Importing prime library from the Primepy module
from primePy import primes as pms
# Taking two natural numbers as user input
num1 = int(input("Enter first natural number: "))
num2 = int(input("Enter second natural number: "))
# Finding lowest prime factor from the user input numbers
res1 = pms.factor(num1)
res2 = pms.factor(num2)
# Printing result of the lowest prime factor in the output
print("The lowest prime factor of the first number entered by user: ", res1)
print("The first prime factor of the second number entered by user: ", res2)

输出:

Enter first natural number: 73
Enter second natural number: 279
The lowest prime factor of the first number entered by user:  73
The first prime factor of the second number entered by user:  3

正如我们所见,输出中打印了输入数字的最低或第一个质因数,这就是我们可以在任何Python程序中使用primepy模块的factor()函数打印任何给定自然数的最低质因数的方法。

实现4:给定自然数的质数:

假设我们给定一个数字,并且我们必须找出小于或等于给定数字的质数的数量。如果手动计算,这将是一项非常繁琐和耗时的任务,这就是我们可以利用primepy模块的地方。 primepy模块为我们提供了一个选项,我们可以通过用户输入的给定数字打印出所有小于该数字的质数。对于这个任务,primepy模块为我们提供了upto()函数,我们可以将其与任何自然数一起使用,以打印出给定数字的质数。以下是在Python程序中使用factor()函数的语法:

>> prime.upto(num)

当num = 程序中给定的自然数时

通过在以下示例程序中使用upto()函数,我们可以理解primepy模块的upto()函数的实现方法,用于打印用户指定数以内的所有素数:

示例4: 看下面的程序,我们使用upto()函数来打印用户在input()中给定的所有素数:

# Importing prime library from the Primepy module
from primePy import primes as pms
# Taking two natural numbers as user input
num1 = int(input("Enter first natural number: "))
num2 = int(input("Enter second natural number: "))
# Finding total prime number upto user input numbers
res1 = pms.upto(num1)
res2 = pms.upto(num2)
# Printing result of prime factors in the output
print("Following are all prime numbers that are either less than or equal to", num1, "as given by the user: ", res1)
print("Following are all prime numbers that are either less than or equal to", num2, "as given by the user: ", res2)

输出:

Enter first natural number: 15
Enter second natural number: 18
Following are all prime numbers that are either less than or equal to 15 as given by the user :  [2, 3, 5, 7, 11, 13]
Following are all prime numbers that are either less than or equal to 18 as given by the user :  [2, 3, 5, 7, 11, 13, 17]

正如我们所看到的,所有小于或等于用户提供的输入数字的质数都将被打印出来。这就是我们如何使用upto函数来打印出给定自然数范围内的所有质数。

实现5:打印前n个质数:

这个primepy模块的实现与此模块的先前实现类似,因为在这两个实现中,我们都根据给定的数字打印出一定数量的质数。特别是在这个实现部分,我们将打印出前n个(其中n是一个自然数)质数,并且’n’将是程序中给定的数字。primepy模块提供了first()函数,我们可以使用它来在输出中打印出前n个质数。以下是在Python程序中使用first()函数的语法:

>> prime.first(num)

在程序中,num = 给定的自然数

我们可以通过在以下示例程序中使用primepy模块的first()函数来理解打印第一个’n’个质因数的实现:

示例5: 查看以下程序,在这个程序中,我们使用first()函数来打印用户输入数字的前’n’个质因数:

# Importing prime library from the Primepy module
from primePy import primes as pms
# Taking a natural number as user input
num1 = int(input("The number of first prime numbers you want to print: "))
# Finding total first prime numbers according to user input number
res1 = pms.first(num1)
# Printing result of all first prime numbers in the output
print("These are first", num1, "prime numbers as the number entered by user: ", res1)

结果:

The number of first prime numbers you want to print: 7
These are first 7 prime numbers as the number entered by the user:  [2, 3, 5, 7, 11, 13, 17]

正如我们所看到的,输出中打印了前’num’个(程序中用户输入的数字)素数,这就是我们如何打印任意前’num’个素数。

实现6:获取在任意两个给定输入数字之间存在的所有素数:

primepy模块的这一实现部分与该模块的upto()函数的实现非常相似。唯一的区别是在这里,我们将找到任意两个给定数字之间的素数,而之前,我们是找到给定数字(或1和给定数字之间的素数)。为了执行任务,找出所有用户输入的两个自然数之间存在的素数,primepy模块为我们提供了between()函数。以下是使用between()函数查找两个给定数字之间的所有素数的语法:

>> primes.between(num1, num2)
# Importing prime library from the Primepy module
from primePy import primes as pms
# Taking three natural numbers as user input
num1 = int(input("Enter first natural number: "))
num2 = int(input("Enter second natural number: "))
num3 = int(input("Enter third natural number: "))
# Getting all prime numbers which are between the two input numbers
res1 = pms.between(num1, num2)
res2 = pms.between(num2, num3)
# Printing resultant prime numbers in the output
print("These are all prime numbers which are present between first and second number given by you: ", res1)
print("These are the prime numbers which are present between the second and third number given by you: ", res2)

输出:

Enter first natural number: 5
Enter second natural number: 41
Enter third natural number: 79
These are all prime numbers which are present between first and second number given by you:  [5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
These are all prime numbers which are present between the second and third number given by you:  [41, 43, 47, 53, 59, 61, 67, 71, 73]

如我们所见,所有在用户提供的两个自然数之间存在的质数都打印在输出中,这就是我们可以使用primepy模块的between()函数来找出并打印任意两个数字之间的所有质数的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程