From 4b82eae46164afb468bb8995d87cbc643dc9e7a6 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Fri, 9 Jun 2023 11:22:20 +0100 Subject: [PATCH 1/4] Fix factorial parsing for Python 3.12 Signed-off-by: Pablo Galindo --- .mailmap | 1 + sympy/parsing/sympy_parser.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sympy/parsing/sympy_parser.py b/sympy/parsing/sympy_parser.py index 7e3a0e8067ce..1c89f0d25b9a 100644 --- a/sympy/parsing/sympy_parser.py +++ b/sympy/parsing/sympy_parser.py @@ -627,7 +627,10 @@ def factorial_notation(tokens: List[TOKEN], local_dict: DICT, global_dict: DICT) result: List[TOKEN] = [] nfactorial = 0 for toknum, tokval in tokens: - if toknum == ERRORTOKEN: + if toknum == OP and tokval == "!": + # In Python 3.12 "!" are OP instead of ERRORTOKEN + nfactorial += 1 + elif toknum == ERRORTOKEN: op = tokval if op == '!': nfactorial += 1