Parser does not recognise form 'nx'
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- data-visualization
Piste de recherche
Commencez par reproduire les deux expressions en échec et leurs équivalents fonctionnels avec n*x via parseplot.Parser.plot, puis examinez le point d’entrée parse/parser.py indiqué dans le traceback ainsi que l’appel d’analyse sous-jacent à plusminus. Le travail est terminé lorsque des formes telles que 2x et x^3+4x-5 sont analysées et évaluées comme leurs équivalents avec multiplication explicite.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Parser does not recognise expressions or parts with the form nx where n is an integer/float.
Expressions taking form n*x evaluate fine.
expression 2x:
>>> p = parseplot.Parser('2x')
>>> p.plot(-5, 5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/parseplot/parse/parser.py", line 29, in plot
xy = (x, self._parser.evaluate(self._function))
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/plusminus/plusminus.py", line 853, in evaluate
parsed = self.parse(arith_expression, parseAll=True)
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/plusminus/plusminus.py", line 845, in parse
parsed = self.get_parser().parseString(*args, **kwargs)
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/pyparsing.py", line 1955, in parseString
raise exc
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/pyparsing.py", line 3814, in parseImpl
raise ParseException(instring, loc, self.errmsg, self)
pyparsing.ParseException: Expected end of text, found 'x' (at char 1), (line:1, col:2)
>>> p = parseplot.Parser('2*x')
>>> p.plot(-5, 5)
[(-5, -10), (-4, -8), (-3, -6), (-2, -4), (-1, -2), (0, 0), (1, 2), (2, 4), (3, 6), (4, 8), (5, 10)]
expression x^3 + 4x -5
>>> p = parseplot.Parser('x^3+4x-5')
>>> p.plot(-5, 5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/parseplot/parse/parser.py", line 29, in plot
xy = (x, self._parser.evaluate(self._function))
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/plusminus/plusminus.py", line 853, in evaluate
parsed = self.parse(arith_expression, parseAll=True)
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/plusminus/plusminus.py", line 845, in parse
parsed = self.get_parser().parseString(*args, **kwargs)
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/pyparsing.py", line 1955, in parseString
raise exc
File "/home/toonarmycaptain/PycharmProjects/parseplot/test_install_env/lib/python3.9/site-packages/pyparsing.py", line 3814, in parseImpl
raise ParseException(instring, loc, self.errmsg, self)
pyparsing.ParseException: Expected end of text, found 'x' (at char 6), (line:1, col:7)
>>> p = parseplot.Parser('x^3+4*x-5')
>>> p.plot(-5, 5)
[(-5, -150), (-4, -85), (-3, -44), (-2, -21), (-1, -10), (0, -5), (1, 0), (2, 11), (3, 34), (4, 75), (5, 140)]
- Langage dominant
- Python
- Étoiles
- 0
- Forks
- 1
- Merge moyen
- 19 h 29 min
- PR mergées (30 j)
- 5
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de toonarmycaptain/parseplot
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
toonarmycaptain/parseplot#16 ·
-
packaging plotter
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
Toutes les issues de toonarmycaptain/parseplot
Issues similaires
-
parse names a key after a top-level multi() threshold Bitcoin Core v31.1 refuses as not validOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
btclib-org/btclib-wallet#587 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Judgment-Pack/judgment-pack-spec#275 ·
Les mainteneurs répondent en général sous 1 jour
-
ai-generated
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue priority: low size: XS
Difficulté 1/5 1-3 heures Accessibilité débutants 92/100
yeongseon/azure-functions-doctor-python#651 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Changaco/python-libarchive-c#146 ·