python - 我如何在这里使用 Python iter?
问题描述
我如何在这里使用 python iter?我想通过使用“next”方法一个一个地打印素数并设置一个限制,例如最多 100。
def prime(num):
i = 2
while i < num:
if (num % i == 0):
return False
i += 1
return True
def prime_generator():
i = 2
while True:
if (prime(i)):
yield i
i += 1
for num in prime_generator():
if (num > 100):
break
print(num)
解决方案
for num in prime_generator()
等价于并且可以写成:
r = prime_generator()
while True:
try:
num = next(r)
except StopIteration:
break
推荐阅读
- ios - WKWebView 整页截图
- php - Laravel Nova 如何使用基于其他 Nova Resouce 的选项创建选择
- sql - 我可以在 SQL 中“链接”两组数据并检索两者的值以进行比较吗?
- java - 执行 selenium 测试时浏览器未在 Jenkins 中打开
- types - 使用 Prolog 进行类型检查
- android - 为什么 Kotlin 数组不返回计数
- vue.js - 数据太大,无法在移动版图表上显示
- azure-iot-hub - 配置 MAX_OPERATION_TIMEOUT
- entity-framework-core - 如何使用 Entity Framework Core 2.2 播种自引用树
- c++ - 如何将公共方法中的数据添加到同一类中的私有成员数组中?