生成器的幾個使用案例

2022-08-26 16:57:20 字數 1205 閱讀 6644

1.輸出第幾個素數是多少?

def prime(n):

if n <= 1:

return 0

for i in range(2, math.ceil(math.sqrt(n + 1))):

if n % i == 0:

return 0

return 1

def prime(n):

st = 2

while n:

if prime(st):

yield st

n -= 1

st += 1

for i in prime(10):

print(i)

結果如下

基於模擬range實現的integrange,封裝乙個類,可以通過for迴圈直接列印指定範圍的質數

例如:for i in integerrange(2,20,1):

print(i)

可以依次列印出2,3,5,7,11...等全為質數的數字

import math

class integerrange:

def __init__(self, start, end, step):

self.start = start

self.end = end

self.step = step

#def __iter__(self):

while self.start < self.end:

if self.prime(self.start):

yield self.start

self.start += self.step

def prime(self, n):

if n <= 1:

return 0

for i in range(2, math.ceil(math.sqrt(n + 1))):

if n % i == 0:

return 0

return 1

g = integerrange(2, 20, 1)

for i in g:

print(i)

結果如下

express生成器的使用

express生成器可自動生成乙個以ejs模板引擎生成的乙個專案裡面包含了一些基本的配置 模組,靜態資源等 1 npm安裝 npm i exrpess generator g 全域性進行安裝 2 在命令框使用 express view ejs 自定義名稱 自動生成的目錄結構如下 bin www 專案...

生成器的使用注意

主要是生成器中return的作用,以及生成器的send 方法 1 deffibnacc num 2 a 1 3 b 1 4 current index 0 5while current index6 data a 78 current index 1 9 a,b b,a b 10 send cont...

python生成器的幾個問題

1.生成器函式是否可以帶引數呢?可以,生成器函式支援所有的引數形式,因為生成器函是函式的一種 der count start 0 while true yield start start 2.生成器函式是否可以用return輸出返回值?答案是不可以的,生成器的預設返回值就是生成器,那麼你還要給他乙個...