Lorsque vous souhaitez créer une branche avec Random dans PythonBox
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
pass
def onUnload(self):
pass
def onInput_onStart(self):
import random
num = random.randint(0, 1)
if num == 0:
self.onA()
else:
self.onB()
Avec ce type de mise en œuvre Ajustez le code lorsque vous souhaitez modifier le nombre de branches de deux à trois Je dois passer de l'édition de la boîte à l'augmentation de la sortie, donc Augmentez la sortie afin qu'elle crée une branche sans autorisation.
import numpy
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
self.outputs = []
for attr in dir(self):
if callable(getattr(self, str(attr))) and "output" in str(attr):
self.outputs.append(attr)
def onUnload(self):
self.outputs = []
def onInput_onStart(self):
r = numpy.random.randint(0, len(self.outputs))
method = getattr(self, self.outputs[r])
method()
Entrer une boîte à partir de l'édition et de l'augmentation de la sortie déclare les méthodes de la boîte. Utilisez dir (self) pour obtenir les propriétés de la boîte pendant onLoad Vérifier s'il peut être exécuté avec callable (s'il s'agit d'une méthode), Ajoutez la méthode étiquetée output à self.outputs.
Exécutez la méthode associée à self.outputs avec onInput_onStart.
Recommended Posts