Python怎么判断一个数是不是质数,用python判断质数

  Python怎么判断一个数是不是质数,用python判断质数

  首先,定义合数和质数的概念。

  合数:能被除了1和它本身之外的其他数整除的自然数。(4,6,9,10.)

  1 def heshu(m):2 list _ a=[]3 for I in range(2,m 1): 4 for j in range (2,I):5 if I % j==0:6 list _ a . append(I)#判断I是否能被(2,I)之间的数整除,如果能。

  质数:一个大于1的自然数,除了1和它本身之外不能被其他数整除。(2,3,5,7.)

  1 def zhi Shu(m):2 list _ a=[]3 for I in range(2,m 1): 4 flag=0 5 for J in range (2,i): 6 if I% j=0: 7 flag=1 #如果I能被(2,I)之间的一个数整除,将flag设置为1,跳出当前循环8 break 9 If flag==0:10 list _ a . append(I)#内循环执行后,如果flag未设置为1,则表示I为素数。添加列表11打印(list_a)12支书(20)

  Tips

  因为刚开始用python,还不了解它的内置函数,所以写代码的时候可能会更多的想到C的思路,总觉得整个代码有些臃肿。

  尤其是写质数函数的时候,用i% j==0来判断合数,但是我们又要输出质数,于是就想到了用flag来标记合数来达到目的。

  后来在别处看到用filter()函数处理的方法,觉得很符合python优雅的特点。

  1 def zhi Shu 2(num):2 for I in range(2,num):3 if num % I==0:4 return false 5 return true 6 new _ list=list(filter(zhi Shu 2,range(2,21))7 print(new _ list)

  如何使用filter()函数:

  接收两个参数,第一个为函数f(输出布尔类型),第二个为序列ist,将list中的元素依次代入f中,根据函数中的判断条件选择返回True或者False,最后返回True的元素重新组成一个新的list

  当您自己使用该功能时,您希望首先直接打印它:

  New _ list=filter (zhishu2,range (2,21)) print (new _ list)但是输出有问题

  仔细看了这个函数的用法,发现这个过滤函数的输出应该是组成一个列表的元素,而不是直接一个列表,所以我需要再转换成一个列表:

  New _ list=list (filter (zhishu2,range (2,21)) print (new _ list)这样输出才能正常。

  转载于:https://www.cnblogs.com/jockeyhao/p/8489575.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python怎么判断素数然后调用函数输出,python判断素数函数,python怎么判断素数
  • Python怎么判断素数,python判断素数函数
  • python中如何判断相等,python判断值是否相等的符号
  • python判断元组中的个数,数组查找某个元素
  • python判断是否存在文件,python判断是否有文件
  • python判断字符串是否为浮点,python如何判断输入的是数字还是字符串
  • python判断字符为数字还是字母,python判断字符串是否包含字母和数字
  • python判断输入的字符是否为数字,python 判断字符串是不是数字
  • python怎么判断一个数是不是整数,用python判断是否为整数
  • python判断某个字符串中是否存在指定字符,python查询字符串是否包含某字符串
  • python判断素数的程序代码,python编写素数判断函数
  • python判断对象的数据类型,python 判断对象类型
  • python判断是否为工作日,python datetime计算日期差
  • python判断一个数是否为完全数,Python判断是整数
  • python判断一个数是质数还是合数,python如何判断质数(素数)
  • 留言与评论(共有 条评论)
       
    验证码: