yield的用法是什么
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章将为大家详细讲解有关yield的用法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我们一起看两个生成器相关的练习,主要是练习一下 yie
千家信息网最后更新 2025年12月02日yield的用法是什么
这篇文章将为大家详细讲解有关yield的用法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
我们一起看两个生成器相关的练习,主要是练习一下 yield 的用法。
问题 1
输入一个数字 n,写一个程序判断 0 到 n 之间的偶数,并用逗号分隔来输出。
比如输入:10
输出结果:0,2,4,6,8,10
题目分析
我们首先需要一个循环,找到 10 以内的所有数字,然后判断是否是偶数。题目要求用生成器的方式,我们只需要写一个生成器函数,在找到符合条件的数字后,使用 yield 输出。最后直接循环生成器,找到需要的值放入列表,最后用逗号分隔输出即可。
参考
def EvenGenerator(n):
i = 0
while i <= n:
if i%2 == 0:
yield i
i += 1
n = int(input())
values = []
for i in EvenGenerator(n):
values.append(str(i))
print(",".join(values))
问题 2
输入一个数字 n,写一个程序判断 0 到 n 之间的可以同时被 5 和 7 整除的数字,并用逗号分隔来输出。
比如输入:100
输出结果:
0,35,70
题目分析
此题目和上一个类似,你会发现这一次只是核心判断条件有变化,输入和输出不一样,但其实套路没变,还是用一个生成器函数,对应条件的地方用 yield 把数据返回即可。
参考:
def NumGenerator(n):
for i in range(n+1):
if i%5 == 0 and i%7 == 0:
yield i
n = int(input())
values = []
for i in NumGenerator(n):
values.append(str(i))
print(",".join(values))上述两个练习都使用了 yield 把一个普通函数,变成了 generator 函数。这样 Python 解释器在处理这些代码时,会在调用这个生成器的循环中,遇到 yield 就返回一次值,并保存当前变量的状态,当下一次循环到来时,自动从上一次的状态继续往后计算。也就是我们需要的结果了。
关于yield的用法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
输出
生成器
生成
数字
输入
函数
题目
循环
条件
结果
逗号
参考
两个
之间
偶数
内容
文章
更多
状态
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
mac微信数据库异常
推荐 服务器
可编程自动化控制器软件开发
凡科互联网科技股份有限公司叶枫
网络安全月主题是什么
wds服务器部署
mc小游戏服务器ip
服务器机房建设概念股
浏览器显示DNS服务器连接超时
重庆品质软件开发推广
华泰证券软件开发
网络技术三级出原题吗
政府网络安全保卫工作汇报
毕业论文网络安全与对策
黄浦区网络技术服务介绍
软件开发与测试校招
学习网络安全与隐私保护
长城软件开发梁先生
初三政治网络安全
计算机应用网络技术专业课程
蓝桥杯服务器被攻击
怎样把存档变成服务器
郑州软件开发云双
edb数据库制作登录软件
服务器维护的作用
企业管理系统数据库
宜兴进口软件开发项目信息
河南计算机软件开发需要多少钱
杭州学习软件开发要多少钱
数据库表的主键外键有什么作用