小工具知识网

当前位置: 首页 > 行业知识 > 【Python】判断素数的三种方法以及for-else语句的介绍

行业知识

【Python】判断素数的三种方法以及for-else语句的介绍

2026-11-03 15:22:52 来源:互联网转载

 

 

题目

输入一个数,如果是素数就输出"Yes",否则输出"No"

方法一:暴力枚举法

def is_prime(x):    if x==1:        return False;    for i in range(2,x):        if x%i==0:            return False    return Truen=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 sympyn = int(input())if sympy.isprime(n):    print("Yes")else:    print("No")

使用python自带的sympy库中的isprime()函数仅需一行就能判断素数

方法三:优化了时间复杂度

import mathdef is_prime(n):    if n 

上一篇:服务器机房利润怎么算?

下一篇:best怎么读英语语音?