From 2b98d0e364cfa889d8e3466bcf95d16afe05f874 Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand Date: Sun, 17 Jan 2016 17:51:12 +0300 Subject: [PATCH] Allow _ for generating expressions --- pymath/calculus/random_expression.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pymath/calculus/random_expression.py b/pymath/calculus/random_expression.py index 44ce538..4b7074f 100644 --- a/pymath/calculus/random_expression.py +++ b/pymath/calculus/random_expression.py @@ -27,7 +27,7 @@ class RdExpression(object): :param conditions: condition on variables (/!\ variables need to be in brackets {}) """ - self._form = form + self._form = self.mod_underscores(form) self._conditions = conditions self._letters = self.get_letters() @@ -70,6 +70,20 @@ class RdExpression(object): return varia + def mod_underscores(self, form): + """ Transform underscores of string to {...} forme with capital letters + + :param form: the form string with _ to replace + :returns: the string with _ replaced + + """ + i = 64 + new_form = form + while "_" in new_form: + i += 1 + new_form = new_form.replace("_", "{"+chr(i)+"}",1) + + return new_form def __call__(self, val_min = -10, val_max = 10): """RdExpression once it is initiate act like a function which create random expressions.