Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة - لوحة المتصدرين

جزء من قسم المنطق وتدفق التنفيذ في رحلة Swift على Coddy. الدرس 32 من 56.

challenge icon

التحدي

متوسط

أنت تقوم بإنشاء لوحة متصدرين. اقرأ سطرًا واحدًا من المدخلات: قائمة مفصولة بفاصلة من إدخالات name:score. بعض الإدخالات تحتوي على درجة غير صحيحة (ليست عددًا صحيحًا) ويجب تخطيها (استخدم compactMap).

اطبع أفضل ثلاثة لاعبين حسب الدرجة تنازليًا، لاعب واحد في كل سطر، بالتنسيق التالي:

<rank>. <name> - <score>

تبدأ الرتب من 1. قم بفك الارتباط (التعادل) حسب الاسم أبجديًا. إذا كان هناك أقل من ثلاثة إدخالات صالحة، فاطبعها جميعًا.

بعد لوحة المتصدرين، اطبع Avg: <n> مع المتوسط الصحيح لـ كل درجة صالحة (يتم التقريب نحو الصفر، بدون فواصل عشرية). عند عدم وجود إدخالات صالحة، اطبع Avg: 0.

للمدخلات alice:90,bob:bad,cara:85,dan:90,eve:70,fin:99، يكون المخرج:

1. fin - 99
2. alice - 90
3. dan - 90
Avg: 86

جرّب بنفسك

let entries = readLine()!.components(separatedBy: ",")

// مهام: استخدام compactMap للتحويل إلى (الاسم، الدرجة)؛ الفرز حسب الدرجة تنازلياً مع استخدام الاسم لفك الارتباط؛
// طباعة أفضل 3؛ ثم متوسط جميع الدرجات الصالحة

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: Playground لـ Swift