zoukankan      html  css  js  c++  java
  • pyDay17

    1、用filter求素数。

    埃拉托色尼筛选法。

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    def _odd_iter():
        n = 1
        while True:
            n = n + 2
            yield n
    # 这是一个从3开始的无限奇数序列
    
    def _not_divisible(n):
        return lambda x: x % n > 0
    # 动态的筛选函数,如果不能被n整除就返回True
    
    def primes():
        yield 2
        it = _odd_iter()
        while True:
            n = next(it)
            yield n
            it = filter(_not_divisible(n), it) #不是n的倍数的留下!
    
    for n in primes():
        if n < 1000:
            print(n)
        else:
            break
    D:labs>python test.py
    2
    3
    5
    7
    11
    13
    17
    19
    23
    29
    31
    37
    41
    43
    47
    53
    59
    61
    67
    71
    73
    79
    83
    89
    97
    101
    103
    107
    109
    113
    127
    131
    137
    139
    149
    151
    157
    163
    167
    173
    179
    181
    191
    193
    197
    199
    211
    223
    227
    229
    233
    239
    241
    251
    257
    263
    269
    271
    277
    281
    283
    293
    307
    311
    313
    317
    331
    337
    347
    349
    353
    359
    367
    373
    379
    383
    389
    397
    401
    409
    419
    421
    431
    433
    439
    443
    449
    457
    461
    463
    467
    479
    487
    491
    499
    503
    509
    521
    523
    541
    547
    557
    563
    569
    571
    577
    587
    593
    599
    601
    607
    613
    617
    619
    631
    641
    643
    647
    653
    659
    661
    673
    677
    683
    691
    701
    709
    719
    727
    733
    739
    743
    751
    757
    761
    769
    773
    787
    797
    809
    811
    821
    823
    827
    829
    839
    853
    857
    859
    863
    877
    881
    883
    887
    907
    911
    919
    929
    937
    941
    947
    953
    967
    971
    977
    983
    991
    997

    2、python中的lambda函数

    lambda x:x%n>0

    lambda语句中,冒号前的是参数,可以有多个,用逗号隔开,冒号右边的是返回值。

  • 相关阅读:
    c# 事件阻断
    正则语义化API
    c# 防止继承和单例
    Maxscript 控制流混淆
    3dmax快速安装补丁的方法
    c# 使用类中的方法更新自己
    Maxscript 变量作用域
    Maxscript 键值对
    Maxscript 数据结构和算法记录
    Datawhale 之NLP学习-打卡(五)
  • 原文地址:https://www.cnblogs.com/xkxf/p/6527640.html
Copyright © 2011-2022 走看看