yield的用法是什么
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关yield的用法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我们一起看两个生成器相关的练习,主要是练习一下 yie
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
互联网核心科技是什么
青岛互联网科技公司
互联网未来科技
西安互联网科技公司
顺玮阁互联网科技
长亮科技 互联网金融
成都狮子座互联网科技
哈尔滨新华互联网科技
新华互联网科技校企合作
重庆威客帮互联网科技
河南猎农互联网科技有限公司
科技类公司包括互联网吗
互联网科技和法律行业
2021互联网科技公司排名
广州有谷有贝互联网科技有限公司
科技互联网公司两年变化
保山浩联互联网科技有限公司
武汉亿视互联网科技有限公司
小牛互联网科技有限公司地址
互联网核心科技是什么
互联网科技开发公司
互联网 卓越科技
互联网科技公司电话
互联网科技ppt模板
长亮科技互联网金融
互联网实体化科技化
用友工业互联网科技发展
互联网科技大赛获奖感言
每日互联网科技新闻