يتم إعطاؤك سلسلة تمثل تعبيرًا رياضيًا. يتكون التعبير من أرقام (0-9) وعوامل تشغيل (+، -، *، /). لدى المشغلين قواعد الأسبقية المعتادة: يتم تقييم الضرب والقسمة قبل الجمع والطرح.

اكتب دالة `evaluate_expression(expression: str) -> float` التي تأخذ التعبير كمدخل وترجع النتيجة كرقم فاصلة عائمة.

مثال:
```
تقييم_التعبير("3+4*2-1") => 10.0
تقييم_التعبير("4*2+3-8/4") => 10.0
```

ملحوظة:
- نضمن أن يكون التعبير تعبيراً رياضياً صحيحاً مع وجود أقواس متوازنة.
- لن يحتوي التعبير على أي مسافات بيضاء بادئة أو لاحقة.
- قد يحتوي التعبير على أرقام متعددة.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}