المجموع والمتوسط
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 83 من 88.
التحدي
سهلقم بتطوير متتبع النفقات الخاص بك عن طريق إضافة وظيفة "Total & Average".
يجب أن يقوم برنامجك بما يلي:
- تهيئة مصفوفة فارغة تسمى
expenses - إنشاء
loop doيعرض القائمة ويقرأ مدخلات المستخدم - عندما يدخل المستخدم
"1"، اطلب اسم النفقة والمبلغ، وأنشئ hash بمفاتيح:nameو:amount، وأضفه إلى مصفوفةexpenses، واطبعExpense added! - عندما يدخل المستخدم
"2"، اعرض جميع النفقات أو رسالة في حال عدم وجود أي منها - عندما يدخل المستخدم
"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 = []
# TODO: اكتب الكود الخاص بك أدناه
# قم بإنشاء حلقة تكرارية تقوم بما يلي:
# - عرض القائمة
# - قراءة مدخلات المستخدم
# - التعامل مع الخيارات 1، 2، 3، و 5
#
# للخيار "1": اطلب الاسم والمبلغ، أنشئ hash، وأضفه إلى المصروفات
# للخيار "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متتبع المصاريف اليومية
نظرة عامة على المشروعالخروج من البرنامج