النطاقات في الحلقات
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 51 من 93.
حتى الآن، استخدمنا 1..5 لإنشاء نطاقات تزداد بالعد بمقدار واحد. توفر Kotlin طرقًا أكثر مرونة لتعريف النطاقات لحلقات التكرار لديك.
للعدّ التنازلي، استخدم downTo:
for (i in 5 downTo 1) {
println(i)
}
// المخرجات: 5, 4, 3, 2, 1لتخطّي الأرقام، أضف step للتحكم في مقدار الزيادة:
for (i in 0..10 step 2) {
println(i)
}
// المخرجات: 0, 2, 4, 6, 8, 10يمكنك دمج downTo مع step للعد التنازلي بفواصل زمنية مخصّصة:
for (i in 10 downTo 1 step 3) {
println(i)
}
// المخرجات: 10, 7, 4, 1إذا كنت بحاجة إلى استبعاد القيمة الأخيرة، فاستخدم until بدلًا من ..:
for (i in 1 until 5) {
println(i)
}
// المخرجات: 1, 2, 3, 4تكون الكلمة المفتاحية until مفيدة بشكل خاص عند العمل مع الفهارس التي تبدأ من الصفر، حيث تحتاج غالبًا إلى التوقف قبل الوصول إلى رقم معين.
التحدي
متوسطاقرأ عددين صحيحين من الإدخال: start وend.
اطبع جميع الأعداد الزوجية من start تنازليًا حتى end (شاملًا)، بحيث يظهر كل عدد في سطر منفصل.
استخدم downTo مع step لإنشاء النطاق. إذا كان start فرديًا، فابدأ من أول عدد زوجي أصغر منه.
على سبيل المثال، إذا كان الإدخال:
10
2فيجب أن يكون الناتج:
10
8
6
4
2إذا كان الإدخال:
9
3فيجب أن يكون الناتج:
8
6
4إذا لم توجد أعداد زوجية في النطاق المطلوب، فاطبع No even numbers في سطر واحد. وإلا، فاطبع كل عدد زوجي في سطر منفصل.
جرّب بنفسك
fun main() {
// اقرأ المدخلات
val start = readLine()!!.toInt()
val end = readLine()!!.toInt()
// TODO: اكتب الكود الخاص بك أدناه
// استخدم downTo مع step لطباعة جميع الأعداد الزوجية من start نزولاً إلى end
// إذا كان start فرديًا، ابدأ من أول عدد زوجي أسفله
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكيتدرّب بنفسك: Playground لـ Kotlin