素数是一个不能被除一个以外的任何其他数字整除的数字,因此在本文中,我们将教您多种方法如何在 python 中检查该数字是否为素数。
- 通过用户定义的功能
- 通过使用标志变量
- 通过使用 while 循环
1. 按用户定义函数
在python中,我们可以使用def关键字定义一个函数,这是一个很好的选择来定义一个函数来确定数字是否是素数,因为定义函数增加了代码的可用性
def checkprime(x): if x > 1: for y in range(2, int(x/2) + 1): if (x % y) == 0: print(x, "is not a prime number") break else: print(x, "is a prime number") else: print(x, "is not a prime number") a= int(input("Enter a number = ")) checkprime(a)
图 1:使用嵌套 if else
输出:
图 2:输出
在图 1 中,首先我们声明了一个函数 checkprime(a),它接受一个数字作为参数并检查给定的数字是否大于一。 如果数字大于 1,将执行 for 循环以检查 ‘x’ 是否可以被 ‘y’ 整除,则 ‘x’ 不是素数,否则,’x’ 是素数。 如果数字不大于 1,它将直接进入 else 部分并打印 ‘x’ is not a prime number,如图 2 所示。
2.通过使用标志变量
在 Python 中,我们可以通过使用标志变量来验证数字是否为素数。 标志变量可以有两个值:真或假。
x= int(input("Enter a number = ")) flag = False if x > 1: for y in range(2, x): if (x % y) == 0: flag = True break if flag: print(x, "is not a prime number") else: print(x, "is a prime number")
图 3:使用标志变量
输出:
图 4:输出
在上面的例子中,用户输入了一个数字,我们检查输入的数字“x”是否大于一,所以我们只在“x”大于一时继续。 如果 ‘x’ 可以被 (2, x) 范围内的任何数字整除,则将 flag 设置为 True 并在找到该范围内的因子时退出循环,表明该整数不是素数,如图 2 所示。否则,标志的值将保持为 False,表示该数是素数。
3.通过使用while循环
可以使用 while 循环检查素数。
x= int(input("Enter a number greater than 1= ")) f=0 y=2 while y <= x / 2: if (x % y) == 0: f = 1 break y+=1 if f: print(x, "is not a prime number") else: print(x, "is a prime number")
图 5:使用 while 循环
输出:
图 6:输出
在上面的例子中,用户被要求输入一个大于 1 的数字“x”。while 循环条件被检查,如果它是真的,那么它将被执行。 首先,将计算余数以查看“x”是否可以被除自身以外的任何其他数字完全整除。 如果“x”是完全可分的,那么变量“f”的值将被更新,否则它不会被更新。