diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-10-29 13:44:27 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-10-29 13:44:27 (GMT) |
commit | c6d3343db8fa57fe890987c8165f00c69ddd393e (patch) | |
tree | 8f4e1d0926cca8d713b12534fce77dbc55660d8a /TurtleArt/talogo.py | |
parent | 71db050dad2d0bb9b25815ef6777a3343338eda2 (diff) |
fixed careless error (ijmp instead of _ijmp) in _prim_ifelse
Diffstat (limited to 'TurtleArt/talogo.py')
-rw-r--r-- | TurtleArt/talogo.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/TurtleArt/talogo.py b/TurtleArt/talogo.py index 0e514b1..bf576fa 100644 --- a/TurtleArt/talogo.py +++ b/TurtleArt/talogo.py @@ -258,13 +258,17 @@ def _identity(x): return(x) -def _avg(array): +def _avg(array, abs_value=False): """ Calc. the average value of an array """ if len(array) == 0: return 0 sum = 0 - for a in array: - sum += a + if abs_value: + for a in array: + sum += abs(a) + else: + for a in array: + sum += a return float(sum) / len(array) @@ -937,10 +941,10 @@ class LogoCode: def _prim_ifelse(self, boolean, list1, list2): """ If bool, do list1, else do list2 """ if boolean: - self.ijmp(self._evline, list1[:]) + self._ijmp(self._evline, list1[:]) yield True else: - self.ijmp(self._evline, list2[:]) + self._ijmp(self._evline, list2[:]) yield True def _prim_opar(self, val): @@ -1378,7 +1382,7 @@ class LogoCode: """ return mic in value """ buf = self.ringbuffer.read(None, self.input_step) if len(buf) > 0: - return float(_avg(buf)) / 164 # scale from -100 to 100 + return float(_avg(buf, abs_value=True)) / 164 # scale from 0 to 100 else: return 0 |