المجموع والمتوسط
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 81 من 86.
التحدي
سهلفي الدرس السابق، قمت بتنفيذ ميزة "عرض جميع المصاريف". الآن، قم بتنفيذ ميزة "إظهار المجموع والمتوسط" للخيار "3".
قم بتعديل الكود الخاص بك للتعامل مع الخيار "3":
- عندما يدخل المستخدم
"3"، تحقق مما إذا كانت مصفوفةexpensesفارغة - إذا كانت المصفوفة فارغة، اطبع
No expenses to calculate. - إذا كانت المصفوفة تحتوي على مصاريف، فقم بحساب وعرض ما يلي:
- مجموع كل المصاريف، بتنسيق
Total: $X.X - متوسط المصاريف، بتنسيق
Average: $X.X
- مجموع كل المصاريف، بتنسيق
- الخيار
"4"يجب أن يظل يطبعComing soon... - الخيارات
"1"و"2"و"5"يجب أن تستمر في العمل كما كانت من قبل
تلميح: استخدم reduce(0, +) لحساب المجموع، واقسم على Double(expenses.count) للحصول على المتوسط.
السلوك المتوقع:
- عند إدخال
"3"مع عدم وجود مصاريف، اطبعNo expenses to calculate. - عند إدخال
"3"مع وجود مصاريف، اطبع المجموع في سطر والمتوسط في السطر التالي
مثال على التفاعل:
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
No expenses to calculate.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
20.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
30.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
Total: $50.0
Average: $25.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!جرّب بنفسك
// Daily Expense Tracker - Menu Display
var expenses: [Double] = []
while true {
// TODO: Write your code below to print the menu options
// Each option should be on its own line with the format: "number. option text"
print("1. Add expense")
print("2. View all expenses")
print("3. Show total and average")
print("4. Clear all expenses")
print("5. Exit")
let choice = readLine()
if choice == "1" {
print("Enter expense amount:")
if let input = readLine(), let amount = Double(input) {
expenses.append(amount)
print("Expense added!")
}
} else if choice == "2" {
if expenses.isEmpty {
print("No expenses recorded.")
} else {
print("Your expenses:")
for expense in expenses {
print("- $\(expense)")
}
}
} else if choice == "3" {
print("Coming soon...")
} else if choice == "4" {
print("Coming soon...")
} else if choice == "5" {
print("Goodbye!")
break
} else {
print("Coming soon...")
}
}جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)12أساسيات المصفوفات
تعريف مصفوفةالوصول إلى العناصرتعديل المصفوفاتدوال المصفوفاتمراجعة - قائمة المنتجاتمراجعة - المصفوفة المعكوسةTuples15متتبع المصاريف اليومية
نظرة عامة على المشروعالخروج من البرنامج