المجموع والمتوسط
جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 83 من 88.
التحدي
سهلطوّر متتبع النفقات بإضافة وظيفة "Total & Average".
ينبغي أن يقوم برنامجك بما يلي:
- تهيئة مصفوفة فارغة تُسمّى
expenses - إنشاء
loop doلعرض القائمة وقراءة إدخال المستخدم - عندما يُدخل المستخدم
"1"، اطلب اسم النفقة ومبلغها، وأنشئ تجزئة بمفتاحَي:nameو:amount، وأضفها إلى مصفوفةexpenses، واطبعExpense added! - عندما يُدخل المستخدم
"2"، اعرض جميع النفقات كما في السابق: اطبعNo expenses recorded yet.إذا لم تكن هناك نفقات، وإلا فاطبع سطرًا فارغًا يتبعه--- Your Expenses ---، ثم اطبع كل نفقة بالتنسيقName: $Amount - عندما يُدخل المستخدم
"3"، احسب إجمالي جميع النفقات ومتوسطها واعرضهما، أو اعرض رسالة إذا لم تكن هناك نفقات - عندما يُدخل المستخدم
"5"، اطبعGoodbye!واخرج من الحلقة
ينبغي أن تظهر القائمة كما في السابق تمامًا:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: عند اختيار الخيار "3":
- إذا لم تكن هناك نفقات، فاطبع:
No expenses to calculate. - إذا كانت هناك نفقات، فاطبع الإجمالي والمتوسط بهذا التنسيق:
Total: $XAverage: $Y
احسب الإجمالي بجمع جميع قيم :amount. واحسب المتوسط بقسمة الإجمالي على عدد النفقات.
على سبيل المثال، إذا كانت المدخلات هي 3، ثم 5 (الحساب عندما تكون القائمة فارغة)، فينبغي أن يكون الناتج:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: No expenses to calculate.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!إذا كانت المدخلات هي 1، Coffee، 5.0، 1، Lunch، 15.0، 3، ثم 5، فينبغي أن يكون الناتج:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Total: $20.0
Average: $10.0
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!جرّب بنفسك
# هيّئ المصفوفة expenses
expenses = []
# TODO: اكتب شيفرتك أدناه
# أنشئ حلقة تفعل ما يلي:
# - تعرض القائمة
# - تقرأ إدخال المستخدم
# - تتعامل مع الخيارات 1 و2 و3 و5
#
# للخيار "1": اطلب الاسم والمبلغ، وأنشئ hash، وأضفه إلى expenses
# للخيار "2": اعرض جميع النفقات، أو رسالة إذا لم توجد نفقات
# للخيار "3": احسب المجموع والمتوسط واعرضهما، أو اعرض رسالة إذا لم توجد نفقات
# للخيار "5": اطبع "Goodbye!" واخرججميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ9الدوال (Methods)
تعريف الدالةمعاملات الدالةقيم الإرجاعمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية للمعاملات15متتبع المصاريف اليومية
نظرة عامة على المشروعالخروج من البرنامجتدرّب بنفسك: مترجم Ruby عبر الإنترنت