• 1
    إدخال وإخراج البيانات
    • المهام
  • 2
    الشروط
    • المهام
  • 3
    حلقة for
    • المهام
  • 4
    السلاسل النصية
    • المهام
  • 5
    حلقة while
    • المهام
  • 6
    القوائم
    • المهام
  • 7
    مصفوفات ثنائية الأبعاد
    • المهام
  • 8
    القواميس
    • المهام
  • 9
    المجموعات
    • المهام
  • 10
    الدوال والتكرار
    • المهام
  • к

درس 10. Functions and recursion

الصعوبة:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

مسألة«نظام التخزين المؤقت»

💻 Python
تقوم الشركة بتطوير برمجيات للحسابات العلمية. يتم تنفيذ العديد من العمليات بشكل متكرر بنفس المعاملات، مما يؤدي إلى إبطاء النظام. من الضروري إنشاء فئة CACHEDCALCULATOR، والتي ستقوم بتخزين نتائج العمليات الرياضية مؤقتًا. RN
يجب أن تدعم الفئة أربع عمليات: الجمع (Add)، الطرح (Sub)، الضرب (Mul) والقسمة (Div). عند استدعاء العملية بشكل متكرر بنفس المعاملات، يجب أخذ النتيجة من الذاكرة المؤقتة. يجب أن تقوم الفئة بإجراء إحصائيات حول عدد العمليات المنفذة وعدد مرات الوصول إلى الذاكرة المؤقتة.
rn
بعد تنفيذ جميع العمليات، يجب على البرنامج عرض نتائج جميع الحسابات بطريقة مرتبة، ثم إحصائيات استخدام الذاكرة المؤقتة.

تنسيق الإدخال

يحتوي السطر الأول على الرقم n - عدد العمليات. تحتوي الأسطر n التالية على عمليات بالتنسيق: "العملية الرقم1"، حيث تكون العملية واحدة من Add, Sub, Mul, Div

تنسيق الإخراج

نتائج جميع العمليات بترتيب مصنف، كل منها في سطر جديد. ثم السطر الذي يحتوي على الإحصائيات بالتنسيق: "Operations: X, Cache Hits: Y"، حيث X هو إجمالي عدد العمليات، و Y هو عدد مرات الوصول إلى الذاكرة المخبأة

مثال

إدخال

6
Add 5 3
Mul 2 4
Add 5 3
Div 10 2
Mul 2 4
Sub 7 1

إخراج

5.0
6.0
8.0
8.0
8.0
8.0
العمليات: 6، مرات الوصول إلى الذاكرة المخبئية: 2

تلميح

There will be no clue here, decide for yourself!

main.py
اختبار 1
اختبار 2
اختبار 3
اختبار 4
اختبار 5
اختبار 6
اختبار 7
اختبار 8
اختبار 9
اختبار 10
حل المطور

🎉 تهانينا! 🎉

لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.

AD

إعلان

red-snake blue-snake green-snake

جارٍ تشغيل الكود...

مساعد الذكاء الاصطناعي

مرحباً! أنا مساعدك في البرمجة. اسألني أي شيء عن Python — يمكنني شرح الدوال والطرق ومساعدتك في المهمة الحالية!