作业——打卡
Topic source个人理解 while Ture: 对于这个函数,定义函数的人并不知道具体要输出几行,设置成死循环一方面是基于生成器的特性(需要调用next函数来获取下一个返回值)不必担心真的会死循环,一方面是将控制权交给调用函数的人,如测试代码:
n = 0
results = []
for t in triangles():
print(t)
results.append(t)
n = n + 1
if n == 10: # <===
break
while True
就是无限循环呀~
不过这里是generator,所以每次调用next()时遇到yield都会返回(也就是暂停执行),当然你也可以用for,不过要限定条件不然会无限循环的。
像示例的验证代码中:
for t in triangles():
print(t)
results.append(t)
n = n + 1
if n == 10:
break
就给出了跳出循环的条件。
- 1
沐__秋