البرمجة

تحويل صيغ رياضية إلى أرقام صحيحة في Python 3

عندما تكون لديك سلسلة نصية تحتوي على صيغة رياضية، مثل “5 – 3″، وترغب في الحصول على النتيجة كعدد صحيح في لغة البرمجة Python 3، يمكنك استخدام وظائف القيمة الرقمية وتقييم النص لتحقيق ذلك.

أحد الطرق الفعالة لتحقيق هذا الهدف هو استخدام وظيفة eval() لتقييم الصيغة الرياضية في السلسلة النصية. إليك مثال توضيحي لكيفية تنفيذ ذلك:

python
# السلسلة النصية التي تحتوي على الصيغة الرياضية math_formula = "5 - 3" # تقييم الصيغة باستخدام eval() وتحويل النتيجة إلى عدد صحيح result = int(eval(math_formula)) # طباعة النتيجة print("النتيجة:", result)

هذا الكود يستخدم eval() لتقييم الصيغة الرياضية في السلسلة النصية، ومن ثم يستخدم int() لتحويل النتيجة إلى عدد صحيح. يجب أن تتوفر جميع العمليات الرياضية الأساسية (+، -، *، /) في الصيغة لضمان حصولك على نتيجة صحيحة.

ومع ذلك، يجب أن تكون حذرًا عند استخدام eval()، خاصةً إذا كانت البيانات التي تأتي من مصادر غير موثوقة، لأنه يمكن أن يؤدي ذلك إلى تنفيذ أوامر غير آمنة.

المزيد من المعلومات

في عملية تحويل الصيغ الرياضية إلى أرقام صحيحة في Python 3، يمكنك استكشاف المزيد من الخيارات والتقنيات لتحقيق هذا الهدف بشكل فعّال.

على سبيل المثال، يمكنك استخدام مكتبة ast لتحليل الصيغ الرياضية بشكل أكثر دقة. هذا يوفر سيطرة أكبر على العمليات التي يتم تقييمها، ويقلل من المخاطر المحتملة المتعلقة باستخدام eval()، خاصةً إذا كنت تتعامل مع بيانات غير آمنة.

اليك مثال باستخدام مكتبة ast:

python
import ast # السلسلة النصية التي تحتوي على الصيغة الرياضية math_formula = "5 - 3" # تحليل الصيغة باستخدام ast parsed_formula = ast.parse(math_formula, mode='eval') # تقييم الصيغة باستخدام ast وتحويل النتيجة إلى عدد صحيح result = int(ast.literal_eval(parsed_formula)) # طباعة النتيجة print("النتيجة:", result)

هذا الكود يستخدم ast.parse() لتحليل الصيغة الرياضية بدقة، ومن ثم يستخدم ast.literal_eval() لتقييم الصيغة بطريقة آمنة. ثم يتم تحويل النتيجة إلى عدد صحيح باستخدام int().

يمكنك أيضاً استخدام مكتبة أخرى مثل sympy لأغراض حسابية أكثر تعقيدًا إذا كنت بحاجة إلى التعامل مع صيغ رياضية معقدة.

زر الذهاب إلى الأعلى