Generatoren hören auf, mitten im Prozess zu arbeitenPython

Python-Programme
Guest
 Generatoren hören auf, mitten im Prozess zu arbeiten

Post by Guest »

Ich versuche 2 Generatoren zu erstellen, die einen RGB -Wert für Pygame ergeben. Ein Generator ist ein anderer. Der erzeugte Wert sollte (für eine Weile erhöhen und dann eine Weile abnehmen) innerhalb von 0 und 255 Grenzen. Der Code, der für eine zufällige Anzahl von Schritten funktioniert, aber zum zufälligen Zeitpunkt IndexError: Listenindex außerhalb des Bereichs. Was ist falsch? < /P>

Code: Select all

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())
Bildbeschreibung hier eingeben

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post