生成器运行中途停止并抛出IndexError问题求助
生成器运行中途停止并抛出IndexError问题求助
我正在尝试编写两个生成器,用来为Pygame生成RGB值,其中一个生成器会调用另一个。生成的数值需要在0到255的范围内浮动(先增长一段时间,再下降一段时间)。目前代码能运行随机步数,但总会在某个随机时间抛出 IndexError: list index out of range 错误,请问问题出在哪里?
from random import randint as r #this generator generates two lists of values to float back and forth between 0 and 255 (supposed rgb value) def func(): a=r(0,255) b=r(a,255) while True: yield list(range(a,b)) a=b b=r(0,a) yield list(range(b,a))[::-1] a=b b=r(a,255) red_iter=func() green_iter=func() blue_iter=func() # this generator yields one value per its call from lists generated by above func() generator def shifter(): red_counter=0 red_range=next(red_iter) while True: print(red_range[red_counter]) red_counter+=1 if red_counter>=len(red_range): red_counter=0 red_range=next(red_iter) while True: print(shifter())
备注:内容来源于stack exchange,提问作者Victor Dmitriev
相关产品推荐
相关产品推荐

