طريقة Contains
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 82 من 93.
من المهام الشائعة عند العمل مع القوائم التحقق من وجود عنصر معيّن في المجموعة. توفّر Kotlin الطريقة contains() لهذا الغرض، والتي تُرجع true إذا عُثر على العنصر وfalse خلاف ذلك.
val fruits = listOf("Apple", "Banana", "Orange")
println(fruits.contains("Banana")) // true
println(fruits.contains("Grape")) // falseتوفّر Kotlin أيضًا بديلاً أكثر قابلية للقراءة باستخدام المعامل in، الذي يفعل الشيء نفسه تمامًا:
val numbers = listOf(1, 2, 3, 4, 5)
println(3 in numbers) // true
println(10 in numbers) // falseيمكنك أيضًا التحقق مما إذا كان العنصر غير موجود في قائمة باستخدام !in:
val colors = listOf("Red", "Green", "Blue")
if ("Yellow" !in colors) {
println("Yellow is not available")
}تعمل عمليات التحقق هذه مع السلاسل النصية أيضًا، مما يتيح لك التحقق مما إذا كان حرف أو سلسلة فرعية موجودًا:
val word = "Kotlin"
println('K' in word) // true
println("otl" in word) // trueيُعدّ العامل in مفيدًا بشكل خاص في العبارات الشرطية، إذ يجعل شفرتك أكثر تعبيرًا وأسهل قراءةً من التكرار يدويًا عبر قائمة للعثور على عنصر.
التحدي
متوسطستتلقى قائمة بأسماء المستخدمين المسموح بها واسم مستخدم للتحقق منه. حدّد ما إذا كان اسم المستخدم موجودًا في القائمة المسموح بها باستخدام العامل in.
إذا كان اسم المستخدم موجودًا في القائمة، اطبع Access granted. وإذا لم يكن اسم المستخدم موجودًا في القائمة، اطبع Access denied.
تنسيق الإدخال:
- السطر الأول: عدد صحيح
nيمثّل عدد أسماء المستخدمين المسموح بها - الأسطر
nالتالية: سلاسل نصية تمثّل أسماء المستخدمين المسموح بها - السطر الأخير: اسم المستخدم المراد التحقق منه
تنسيق الإخراج:
اطبع إما Access granted أو Access denied بناءً على ما إذا كان اسم المستخدم موجودًا في القائمة المسموح بها.
مثال:
إذا كانت القائمة المسموح بها هي ["alice", "bob", "charlie"] وكان اسم المستخدم المراد التحقق منه هو bob، فيجب أن يكون الإخراج:
Access grantedإذا كان اسم المستخدم المراد التحقق منه هو david، فيجب أن يكون الإخراج:
Access deniedجرّب بنفسك
fun main() {
// اقرأ عدد أسماء المستخدمين المسموح بها
val n = readLine()!!.toInt()
// اقرأ أسماء المستخدمين المسموح بها في قائمة
val allowedUsernames = mutableListOf<String>()
for (i in 1..n) {
allowedUsernames.add(readLine()!!)
}
// اقرأ اسم المستخدم للتحقق
val usernameToCheck = readLine()!!
// TODO: اكتب الكود الخاص بك أدناه
// استخدم عامل التشغيل 'in' للتحقق مما إذا كان usernameToCheck موجودًا في allowedUsernames
// Print "Access granted" if found, "Access denied" if not
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال14القوائم المتقدمة
تقسيم القوائم باستخدام SubListتقسيم القوائم باستخدام Take وDropعوامل التسلسلاتطريقة Containsمراجعة - البحث في صفحة3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكيتدرّب بنفسك: Playground لـ Kotlin