تحليل أعداد كثيرة في سطر واحد
التقسيم والتحويل إلى int وفكّ القيم بسلاسة
تحليل أعداد كثيرة في سطر واحد درس مجاني في Competitive Programming Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Competitive Programming Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Competitive Programming Academy 4 دروس في المجموع.
سطر واحد، أرقام متعددة
تضع المسابقات غالبًا عدة قيم في سطر واحد، مثل "3 7 1 9". ومهمتكم هي تحويل تلك السلسلة إلى أرقام يمكنكم استخدامها.
قسّموا عند المسافات
ابدؤوا باستخدام .split(). فعند عدم تمرير وسيط، يقسّم السطر عند أي مسافة بيضاء ويعطيكم قائمة من الأجزاء النصية.
parts = input().split()ما زالت سلاسل نصية، وليست أرقامًا بعد
بعد split() يظل كل جزء سلسلة نصية. فـ "7" ليست مماثلة للعدد 7، ولذلك لا يمكنكم إجراء الحسابات عليها بعد.
حوّلوا جزءًا واحدًا
غلّفوا الجزء داخل int() لتحويله إلى عدد صحيح فعلي. افعلوا ذلك لكل رمز تحتاجون إليه بوصفه رقمًا.
x = int("42")حوّلوا الجميع باستخدام map
بدلًا من استخدام حلقة، تطبّق map(int, ...) الدالة int() على جميع الأجزاء دفعة واحدة، وبطريقة كسولة وسريعة.
nums = map(int, input().split())حوّلوها إلى قائمة
تعيد map كائنًا كسولًا. غلّفوه داخل list() عندما تحتاجون إلى الفهرسة أو الاقتطاع أو إعادة استخدام القيم.
nums = list(map(int, input().split()))فكّكوا القيم ذات العدد المعروف
عندما تعرفون عدد القيم بالضبط، يمكنكم فكّها مباشرةً إلى متغيرات مسمّاة في سطر واحد.
a, b = map(int, input().split())ثلاث قيم أو أكثر
يتوسع فكّ القيم بصورة طبيعية. فقراءة ثلاثة أرقام لا تتطلب سوى ثلاثة أسماء على يسار علامة التساوي.
a, b, c = map(int, input().split())استخدموا الأعداد العشرية عند الحاجة
إذا كانت القيم عشرية، فاستبدلوا int بـ float داخل map. ويبقى كل شيء آخر كما هو.
vals = list(map(float, input().split()))النجمة تلتقط الباقي
استخدموا اسمًا مسبوقًا بنجمة لالتقاط عدد في البداية، وتجميع الأرقام المتبقية داخل قائمة.
n, *arr = map(int, input().split())اجمعوها فورًا
بما أن map قابل للتكرار، يمكنكم تمريره مباشرةً إلى sum() من دون إنشاء قائمة أولًا.
total = sum(map(int, input().split()))تحقق سريع
سطر واحد من الشيفرة، ماذا ينتج؟
مراجعة: تحليل سطر
التركيبة التي يجب تذكّرها هي map(int, input().split()): قسّموا إلى رموز، وحوّلوا كل رمز إلى رقم، ثم استخدموا قائمة أو فكّوا القيم وفق ما تحتاجه المسألة. 🔢
الأسئلة الشائعة
هل درس «تحليل أعداد كثيرة في سطر واحد» مجاني؟
نعم — نص درس «تحليل أعداد كثيرة في سطر واحد» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Competitive Programming Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Competitive Programming Academy 4 دروس في المجموع.
ماذا ستتعلم في «تحليل أعداد كثيرة في سطر واحد»؟
التقسيم والتحويل إلى int وفكّ القيم بسلاسة تتمرن على Competitive Programming Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Competitive Programming Academy؟
لا تُشترط خبرة سابقة. Competitive Programming Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تحليل أعداد كثيرة في سطر واحد»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Competitive Programming Academy هذا؟
نعم. كل درس في Competitive Programming Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مواجهة input() وsys.stdin
- تحليل أعداد كثيرة في سطر واحد
- إخراج دفعي بالطريقة الصحيحة
- قراءة N سطرًا والحالات الطرفية