Menu
Coddy logo textTech
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؛ ثم متوسط جميع الدرجات الصالحة

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