Menu
CoddyTech

المجموع والمتوسط

جزء من قسم الأساسيات في رحلة Ruby على Coddy. الدرس 83 من 88.

challenge icon

التحدي

سهل

طوّر متتبع النفقات بإضافة وظيفة "Total & Average".

ينبغي أن يقوم برنامجك بما يلي:

  1. تهيئة مصفوفة فارغة تُسمّى expenses
  2. إنشاء loop do لعرض القائمة وقراءة إدخال المستخدم
  3. عندما يُدخل المستخدم "1"، اطلب اسم النفقة ومبلغها، وأنشئ تجزئة بمفتاحَي :name و:amount، وأضفها إلى مصفوفة expenses، واطبع Expense added!
  4. عندما يُدخل المستخدم "2"، اعرض جميع النفقات كما في السابق: اطبع No expenses recorded yet. إذا لم تكن هناك نفقات، وإلا فاطبع سطرًا فارغًا يتبعه --- Your Expenses ---، ثم اطبع كل نفقة بالتنسيق Name: $Amount
  5. عندما يُدخل المستخدم "3"، احسب إجمالي جميع النفقات ومتوسطها واعرضهما، أو اعرض رسالة إذا لم تكن هناك نفقات
  6. عندما يُدخل المستخدم "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: $X
    Average: $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!" واخرج

جميع دروس الأساسيات

تدرّب بنفسك: مترجم Ruby عبر الإنترنت