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 ValueError for invalid input ("2 +", "(1", "4 $ 2") and ZeroDivisionError for 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 شخصًا حتى الآن.

python
المحررCtrl + Enter

            
        

عندما تطبع الاختبارات "All tests passed" يُعلَّم التحدي كمحلول في هذا المتصفح.

إرسال حلك للمراجعة