python
advanced
محلول
ينتهي في 2026-11-24
Calculator: evaluate an expression
Write evaluate(expr) that computes an arithmetic expression given as text, without eval, exec or ast.literal_eval.
- Numbers can be integers or decimals (
3,2.5). - Operators
+ - * /with normal precedence, and parentheses. - Unary minus:
-3,2 * -(1 + 1). - Spaces may appear anywhere.
- Raise
ValueErrorfor invalid input ("2 +","(1","4 $ 2") andZeroDivisionErrorfor division by zero.
Acceptance criteria
- Return a
float. - The tests at the bottom print
All tests passed.
Hint: a tokenizer plus a recursive-descent parser (expression → term → factor) keeps this short.
حلّه 0 شخصًا حتى الآن.
المحررCtrl + Enter
عندما تطبع الاختبارات "All tests passed" يُعلَّم التحدي كمحلول في هذا المتصفح.
إرسال حلك للمراجعة