Parser does not recognise form 'nx'
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- data-visualization
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện hai biểu thức bị lỗi và các biểu thức tương đương hoạt động với n*x thông qua parseplot.Parser.plot, sau đó kiểm tra entry point parse/parser.py được nêu trong traceback và lời gọi parsing bên dưới tới plusminus. Công việc được hoàn tất khi các dạng như 2x và x^3+4x-5 được parse và đánh giá giống như các biểu thức tương đương sử dụng phép nhân tường minh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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)]
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 1
- Merge trung bình
- 5 ngày 38 phút
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của toonarmycaptain/parseplot
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
toonarmycaptain/parseplot#16 ·
-
packaging plotter
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
Tất cả issue của toonarmycaptain/parseplot
Issue tương tự
-
Broken links found in docsĐang mởdocs pydanty:is-working
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
pydantic/pydantic-ai#10113 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
GreedyBear-Project/GreedyBear#1727 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
ARM-software/CMSIS-DSP#354 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
kiat/codeAssist#391 ·
-
needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
darnitdevorg/darnit#587 ·
Maintainer thường phản hồi trong vòng 1 ngày