zoukankan      html  css  js  c++  java
  • filter运行出现 <filter object at 0x000001B68F052828> 判断素数

    刚接触filter时  运行总是出现<filter object at 0x000001B68F052828>  得不到想要的数据

    后来发现是因为filter的结果是一个数组 需要 list 帮助

    后来将print(f)  改为  print(list(f))  成功~

    代码:def fil(n):

         return n%2==1

       f=filter(fil,range(100))

       print(list(f))

    结果:

    将100以内的奇数算出来了

    练习:将100以内的素数求出

    分析:什么是素数。即 质数  只能被本身和1整除的数

    代码:

    方法一:

    import math
    def prime(n):
    flag=0
    for i in range(2,int(math.sqrt(n)+1)):
    if n%i==0: #判断是不是素数 不是素数就将1赋给flag
    flag=1
    break
    if flag != 1: #若要判断素数 只需将flag!=1 同样的flag==1 则是非素数的值
    return n
    f=filter(prime,range(100))
    print(list(f))
    方法二:
    num=[]; #定义一个空数组  用来存放数字
    n=1
    for n in range(1,100):
    i=2
    for i in range(2,n):
    if n%i==0: #判断是否为素数 若是则break
    break
    else:
    num.append(n)
    print(num)
  • 相关阅读:
    [BUUCTF]PWN3——warmup_csaw_2016
    分页
    关系与外键约束
    连接查询
    自关联
    子查询
    视图
    事务
    索引
    绘图笔记
  • 原文地址:https://www.cnblogs.com/zhanshan/p/9262884.html
Copyright © 2011-2022 走看看