鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[扩展阅读] 提高你的 Python:解释 yield 和 Generators(生成器)

  [复制链接]
发表于 2022-2-17 15:50:31 | 显示全部楼层



"""

0.
一般的函数结束于return语句、异常或者所有函数语句执行完毕(隐式return None)。

1.
协同程序就是可以运行的独立函数调用,函数可以暂停或者挂起,并在需要的时候从程序离开的地方
继续或者重新开始。

2.
不是。

3.
把return语句改为yield语句。

4.
用来生成一个值的序列。

5.
while True可以让生成器不断生成数值,否则的话生成一次就结束了。



#0.

def myRev(arg):

    for each in arg[::-1]:
        yield each

for i in myRev("FishC"):
    print(i, end="")

"""


#1.
import math

def isPrime(number):
    if number > 1:
        if number == 2:
            return True
        if number % 2 == 0:
            return False
        for current in range(3, int(math.sqrt(number) + 1), 2):
            if number % current == 0:
                return False
                break
        else:
            return True
    else:
        return False

def getPrime(number):
   
    i = 1
    while i <= number:

        if isPrime(i):
            yield i
        i += 1

print(sum(getPrime(2000000)))

result = 14291382922

   
               

   













   

   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-15 19:45:33 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-21 15:24:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-12 23:14:04 | 显示全部楼层
搜嘎
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-3 12:03:16 | 显示全部楼层
send不理解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-22 12:35:08 | 显示全部楼层
看完了,写的不错!学到了很多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-22 16:09:42 | 显示全部楼层
还要继续加油学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-27 06:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表