python怎么判断素数

质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。

那么想计算出一个随机数是不是质数用Python应该怎么写呢?首先第一句话肯定是接受用户输入的数字:

n = int(input("please enter the number:"))

接着要计算该数是不是质数,那么就要从2开始一直除到该数之前的那个自然数,很明显是一个数字范围:

for i in range(2, n):

在循环体里面,每次循环当然就是要判断当次除法是否是整除,这里可以使用求模运算,也就是取余,当余数为0时,该数就不是质数:

if n % i == 0:
    print("%d is not a prime number!" % n)
    break

这个break意思就是当该数不是质数时,就跳出整个循环,该数就不是我们要的数字了。

那么,所有循环迭代都完成后还没有找出能整除的情况的话,那么可以判断该数就是一个质数,所以:

else:
print("%d is a prime number!" % n)

那么此时,所有代码就写好了,不过为了看起来简单,没有罩一层是否大于1的判断,用户输入的数字默认需要大于1:

n = int(input("please enter the number:"))
for i in range(2, n):
  if n % i == 0:
    print(" %d is not a prime number!" % n)
    break
else:
  print(" %d is a prime number!" % n)

内容扩展:

素数判断的实例:

for i in range(2,100):

    for j in range(2,i):
      if i%j==0:
        break
    else:
      print(i,end='\t')
  

到此这篇关于python怎么判断素数的文章就介绍到这了,更多相关python判断素数的方法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python实现求最大公约数及判断素数的方法

    本文实例讲述了Python实现求最大公约数及判断素数的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python def showMaxFactor(num): count = num / 2 while count > 1: if num % count == 0: print 'largest factor of %d is %d' % (num, count) break #break跳出时会跳出下面的else语句 count -= 1 else: prin

  • python怎么判断素数

    质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数). 那么想计算出一个随机数是不是质数用Python应该怎么写呢?首先第一句话肯定是接受用户输入的数字: n = int(input("please enter the number:")) 接着要计算该数是不是质数,那么就要从2开始一直除到该数之前的那个自然数,很明显是一个数字范围: for i in range(2, n): 在循环体

  • Python编程判断一个正整数是否为素数的方法

    本文实例讲述了Python编程判断一个正整数是否为素数的方法.分享给大家供大家参考,具体如下: import string import math #判断是否素数的函数 def isPrime(n): if(n<2): return False; elif(n==2): return True; elif(n>2): for d in range(2,int(math.ceil(math.sqrt(n))+1)): if(n%d==0): return False; return True;

  • python高效的素数判断算法

    高效素数判断算法 算法概述 此算法将其他博主对基本素数算法的一些改进进行了整合,其中主要整合了如下三条规则: 1.大于3的素数一定在6的倍数前一个或后一个(如素数37在36的后面) 2.要判断n是否为素数,只需要让n从2开始,依次除到根号n即可 3.在进行"让n从2开始,依次除到根号n"过程中,若n除以2的余数不为0,可以直接跳过[2, sqrt(n)]里面的所有偶数 博主语文素养不高,表达不是很准确,在后面会对这三条规则进行解释. 规则详解 1.大于3的素数一定在6的倍数前一个或后一

  • python数据类型判断type与isinstance的区别实例解析

    在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端"参数错误"错误码. 这样做不但便于调试,而且增加健壮性.因为客户端是可以作弊的,不要轻易相信客户端传过来的参数. 验证类型用type函数,非常好用,比如 >>type('foo') == str True >>type(2.3) in (int,float) True 既然有了type()来判断类型,为什么还有isinstance()呢? 一个明显的区别是在判断子类. type(

  • 浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() 或者类似的类型错误. 这是因为一方变量的数据类型不明(python无法判断),所以出错. 在一般情况下,可以提前对要使用的变量进行定义并赋值,例如: var=' ' 或者 var=0 等等. 但是,若变量在比较前,是通过调用函数或者其他表达式赋值的,以上方法可能行不通,因为如果调用的函数如果存在错误或者没

  • Python编程判断这天是这一年第几天的方法示例

    本文实例讲述了Python编程判断这天是这一年第几天的方法.分享给大家供大家参考,具体如下: 题目:输入某年某月某日,判断这一天是这一年的第几天? 实现代码: year=int(input('请输入年:')) month=int(input('请输入月:')) day=int(input('请输入天:')) sum=day days = [31,28,31,30,31,30,31,31,30,31,30,31] i=0 if ( year%4 == 0 and year%100 != 0) or

  • python简单判断序列是否为空的方法

    本文实例讲述了python简单判断序列是否为空的方法.分享给大家供大家参考.具体如下: 假设有如下序列: m1 = [] m2 = () m3 = {} 判断他们是否为空的高效方法是: if m1: ...... if not m2: ...... 希望本文所述对大家的Python程序设计有所帮助.

  • python实现判断数组是否包含指定元素的方法

    本文实例讲述了python实现判断数组是否包含指定元素的方法.分享给大家供大家参考.具体如下: python判断数组是否包含指定的元素的方法,直接使用in即可,python真是简单易懂 print 3 in [1, 2, 3] # membership (1 means true inventory = ["sword", "armor", "shield", "healing potion"] if "healin

  • Java两个乒乓球队比赛名单问题(判断素数)

    题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数. 程序设计: import java.util.ArrayList; public class pingpang { String a,b,c; public static void main

随机推荐