Stap 2: Bijvoorbeeld
Hier leg ik in een doos en geplakt de code in (en de lezer kan kopiëren, geformatteerd):
class RunningAve: """ proof and test in some other place tuples? no for long, could add and subtract from ends """ #TIME = 0 #COUNT = 1 def __init__( self, length ): self.val_len = length self.ix_now = 0 self.values = [ 0. ] * self.val_len self.ave_len = 0 # ----------------------------------------------- def add_val( self, new_val ): """ return new average after adding value value should not be a repeat """ self.ix_now += 1 # instead of this load the whole list with first value ??? if self.ave_len < self.val_len: self.ave_len += 1 # less smooth at begin, but not at 0 if self.ix_now >= self.val_len: self.ix_now = 0 self.values[self.ix_now] = new_val retval = 0. for val in self.values: retval += val return ( retval/self.ave_len )
Zonder het kader de geplakte code ziet er zo (het kan worden gereinigd met een veel handmatig werk bijvoorbeeld:
)
klasse RunningAve:
"" "lopende gemiddelde uitvoeren" ""
def __init__ (self, lengte): self.val_len = lengte self.ix_now = 0 self.values [0.] = * self.val_len self.ave_len = 0 #---def add_val (zelf, new_val): "" "terugkeer nieuwe gemiddelde na het toevoegen van waarde mag niet een herhaling" "" self.ix_now += 1 # in plaats daarvan laden de hele lijst met de eerste waarde??? als self.ave_len < self.val_len: self.ave_len += 1 # minder glad aan begin, maar niet op 0 als self.ix_now > = self.val_len: self.ix_now = 0 self.values[self.ix_now] = new_val retval = 0. voor val in self.values: retval += val terug (retval/self.ave_len)
Sommige mensen krijgen rond het probleem van de plakken in de code met de schoten van het scherm, maar u niet schuift deze, bevatten meer dan één scherm met code, of laat de lezer kopieert opgemaakte code uit de instructable, het vak kunt u dit alles doen.