Coding for KidsCoding for Kids
المستويات الإبداعيةالتحدياتدليل المعلم
صوت للميزات
دورة تطوير بايثون المتقدمة
الفصل
>
المستوى

الدوال المتقدمة
وظائف تعددية الأشكال

في هذا الفصل سوف نستكشف أنواعًا جديدة من الدوال، واستخداماتها المتنوعة وكيفية الاستفادة القصوى منها عند البرمجة بلغة بايثون.

في هذا المستوى نبدأ بدوال بوليمورفيكية، وهي الدوال التي يمكن استخدامها مع مجموعة متنوعة من أنواع البيانات المختلفة. يشبه هذا استخدام نفس الدالة للقيام بأشياء مختلفة، إنها دالة شاملة.

Guide

الهدف

تحقق من حالة المحاصيل والخنازير الصغيرة، وأكد شحنات التوريد باستخدام الدوال المتعددة الأشكال.

سرعان ما سيكون هناك بعض المحاصيل التي تحتاج إلى حصاد حتى يمكن شحنها للبيع. كما أنه يجب توصيل الطعام للخنازير الصغيرة، وسيكون من الجيد معرفة كمية الطعام التي يجب طلبها. لتحقيق هذه المهام يمكنك استخدام الدوال المتعددة الأشكال، في هذه الحالة سنستخدم دالة len().

الدوال المتعددة الأشكال هي تلك الدوال التي يمكن استخدامها مع أنواع بيانات مختلفة. على سبيل المثال، دالة len() هي دالة تستخدم لحساب طول الكائنات، وهذه الكائنات يمكن أن تكون من أنواع بيانات مختلفة مثل القوائم، القواميس وحتى السلاسل النصية. ابدأ بتسجيل العدد على العلامات X السفلية في الحقل قبل الانتقال إلى العلامات X العليا في المخزن.

هناك عدة خنازير صغيرة داخل قفص بالقرب من الطريق، أسماؤهم هي "Peggle"، "Peter"، "Piper"، "Pedro"، ضع أسماؤهم في قائمة حتى يمكنك عدهم. مثل هذا: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. قم بإنشاء متغير باسم number لتخزين طول القائمة باستخدام دالة len()، كما يلي: number = len(piglets).

بمجرد أن تقوم بإعداد القائمة والمتغير، توجه إلى علامة X الداكنة أمام قفص الخنازير الصغيرة، واجه القفص واستخدم دالة speak لعد الخنازير الصغيرة باستخدام الدالة speak(). استخدم المتغير number للحصول على النتيجة، كما يلي: player.speak("There are d% Piglets" % (number) )

بعد انتهائك من التحقق مع الخنازير الصغيرة، توجه إلى العلامة X الفاتحة بجانب الحقل، واجه المحاصيل وعدها. هناك ثلاثة (3) أنواع مختلفة من المحاصيل: "Tomatoes"، "Pumpkins"، "Eggplant". قم بعد عدد المحاصيل النامية لكل نوع واحتفظ بها داخل قاموس، كما يلي:

crops = {} crops["Tomato"] = number of tomato crops crops["Pumpkin"] = number of Pumpkin crops crops["Eggplant"] = number of Eggplant crops

بمجرد ملء القاموس بالقيم المناسبة، استخدم دالة speak() مع دالة len() لعد عدد المحاصيل المتاحة، كما يلي: player.speak("There are d% types of crops" % ( len(crops) ) ).

بمجرد أن تعد كلًا من الخنازير الصغيرة والمحاصيل، توجه إلى العلامة X الداكنة على الحصيرة البنفسجية للتحقق من الطلبيات الخاصة بالمحاصيل التي ستشحن. هناك متغير ثابت باسم order يحتوي على سلسلة نصية تحتوي على طلبات المحاصيل التي تحتاج إلى الشحن. نحتاج إلى معرفة ما هي الطلبات وعدد الطلبات التي لدينا، ويمكننا فعل ذلك باستخدام دالة speak() وتفكيك السلسلة النصية بالإضافة إلى استخدام دالة len().

player.speak( [*order] ) player.speak("There are d% orders of crops going out" % ( len(order) ) )

عن طريق وضع متغير السلسلة داخل أقواس ومع وضع * يمكننا تفعيل عامل لتفكيك السلسلة، على سبيل المثال: [*string]. ما يفعله هذا هو أنه يأخذ السلسلة ويفصل كل حرف على حدة داخل قائمة، على سبيل المثال: [*string] ستنتج قائمة ['s', 't', 'r', 'i', 'n', 'g']. في حالة استخدام len() على السلسلة، فإنه يحسب عدد الأحرف الموجودة فيها.

لإنهاء التمرين، توجه إلى علامة X الذهبية على الجانب الأيمن من المخزن، وحدد عدد الجنيهات من الطعام التي يجب توصيلها للخنازير الصغيرة. قم بإنشاء متغير باسم food، وكقيمة استخدم المتغير number الذي أنشأته سابقًا واضربه في 35 لتحديد كمية الجنيهات، كما يلي: food = number * 35.

أثناء مواجهتك للمخزن، استخدم دالة speak() مع المتغير food لتحديد كمية الطعام التي ستصل، كما يلي: player.speak("There are d% pounds of food coming in" % (food) ).

كتاب الكود