python - 如何在 python 1000 次中打印一个字符串?
问题描述
我是 python 新手,我遇到了这个有趣的问题,它说:
实现一个生成器循环,如果我们分配
y = cycle()
然后反复调用
next(y)
返回值
food
pizza
hungry
food
pizza
hungry
在无尽的循环中。如果它无法管理无限循环,则执行 1000 个循环然后停止。
不允许使用循环我可以使用称为流(无限列表)的东西。
我怎样才能做到这一点?
解决方案
诀窍是将三个yield
语句包装成一个无限循环。这样,它们将无限循环
def cycle():
while True:
yield 'food'
yield 'pizza'
yield 'hungry'
要打印前 1000 次迭代,请使用
y = cycle()
for i in range(1000):
print(next(y))
推荐阅读
- git - 子模块的 git 子模块
- sql - 为什么说关系数据库不擅长可扩展性,是什么让 NOSQL 数据库在这方面具有优势?
- android - Android应用程序中startForeground的错误通知
- mysql - 通过后缀选择具有相同列的所有表并将它们合并到新表中
- apache-nifi - 使用 NiFi 中的 convertRecord 处理器将 XML 转换为 AVRO
- java - 在 AWS Elasticbeanstalk 中部署时未加载网页资源
- laravel - 此集合实例上不存在属性 [名称]。雄辩的 Laravel
- xml - XSLT2.0:如何使用嵌套的for-each-group来压缩xml记录
- json - 有没有办法将 OpenAPI 规范转换为 Maven 中的 json 映射?
- linux - tar 命令的权限