دالة FizzBuzz
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 59 من 86.
التحدي
سهلفي الدرس السابق، قمت بكتابة كود للتحقق من رقم واحد مقابل قواعد FizzBuzz. الآن، قم بإعادة صياغة (refactor) هذا المنطق إلى دالة قابلة لإعادة الاستخدام.
أنشئ دالة تسمى fizzBuzz تأخذ رقماً وتعيد السلسلة النصية المناسبة بناءً على قواعد FizzBuzz:
- إذا كان الرقم يقبل القسمة على كل من 3 و 5، فقم بإرجاع
"FizzBuzz" - إذا كان الرقم يقبل القسمة على 3 فقط، فقم بإرجاع
"Fizz" - إذا كان الرقم يقبل القسمة على 5 فقط، فقم بإرجاع
"Buzz" - خلاف ذلك، قم بإرجاع الرقم كسلسلة نصية
توقيع الدالة (Function signature):
- الاسم:
fizzBuzz - المعامل:
number(Int) - استخدم_لحذف تسمية المعامل (argument label) - القيمة المرجعة:
String
بعد تعريف الدالة، اقرأ عدداً صحيحاً واحداً من المدخلات، واستدعِ دالة fizzBuzz الخاصة بك بهذه القيمة، ثم اطبع النتيجة.
ستتلقى المدخلات التالية:
- عدد صحيح واحد
على سبيل المثال، إذا كانت المدخلات 15، يجب أن تكون المخرجات:
FizzBuzzإذا كانت المدخلات 4، يجب أن تكون المخرجات:
4جرّب بنفسك
// Read input
let number = Int(readLine()!)!
// TODO: Write your code below to implement FizzBuzz logic
// Check divisibility by 3 and 5, then print the appropriate result
if number % 3 == 0 && number % 5 == 0 {
print("FizzBuzz")
} else if number % 3 == 0 {
print("Fizz")
} else if number % 5 == 0 {
print("Buzz")
} else {
print(number)
}جميع دروس الأساسيات
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)