【Python】判断素数的三种方法以及for | 您所在的位置:网站首页 › js判断输入的整数是否为质数的方法 › 【Python】判断素数的三种方法以及for |
方法一:暴力枚举法
def is_prime(x):
if x==1:
return False;
for i in range(2,x):
if x%i==0:
return False
return True
n=int(input())
if is_prime(n):
print("Yes")
else:
print("No")
自定义函数is_prime(),首先排除1,然后再对该数之前的数进行枚举,当遇到能被当前的数整除时返回False,若没有数能将其整除意味着这个数是素数,返回True。然后对返回的结果进行判断从而输出"Yes"或"No" 当然,我们可以省去最后if-else的判断,直接在函数**is_prime()**里来输出"Yes"或"No" def is_prime(x): if x==1: print("No") return for i in range(2,x): if x%i==0: print("No") break else: print("Yes") n=int(input()) is_prime(n) for-else语句在上面的代码中,我采用了for-else语句,这是一个比较特殊的语句。当for循环正常结束时,else也会执行,而当for循环未正常结束,例如使用break提前退出时,则不会执行。使用这个语句往往可以减少代码量,避免使用flag。 方法二:内置函数 import sympy n = int(input()) if sympy.isprime(n): print("Yes") else: print("No")使用python自带的sympy库中的**isprime()**函数仅需一行就能判断素数 方法三:优化了时间复杂度 import math def is_prime(n): if n |
CopyRight 2018-2019 实验室设备网 版权所有 |