下面的代码片段是一个简单的生成器,用于从两个值创建一系列数字:
def dip(start, stop, part):
step = (stop-start)/part
while True:
yield start
start = start + step
if start >= stop:
break
为了显示生成的值,我写了:
print(list(dip(0, 10, 4)))
输出:[0, 2.5, 5.0, 7.5] 那么,告诉我如何在函数本身中返回这个列表,以便可以通过编写以下内容来输出相同的内容:
c = dip(0, 10, 4)
print(c)
例如,据我了解,这样的构造根本行不通,因为在While True循环结束时,内存中尚未存储任何值:
def dip(start, stop, part):
step = (stop-start)/part
while True:
yield start
start = start + step
if start >= stop:
break
return list(start)
c = dip(0, 10, 4)
print(c)
输出: <generator object dial at 0x000002C1A5C557E0> 因此我们需要以某种方式在 While True 循环之外输出start变量的值。也许这是一个愚蠢的问题,我只学习了5天,所以请不要攻击我)
1 个回答