def my_range(start, last, step):number = startwhile number < last:yield numbernumber += stepreturn numbera= my_range(0, 7, 1)print(a)
报错:
都已经yield了还return干啥?删掉return number那行。print(a)是打印这个生成器。改成:for item in my_range(0, 7, 1):print(item)