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

المولدات
إرسال البيانات إلى مولد

الهدف

جمع الصوف وغزله إلى خيوط باستخدام المغازل عن طريق إرسال البيانات إلى التوليد.

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

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

def spin(): cycle = 1 while True: cycle += 1 yarn = yield yarn = yarn * cycle yield player.speak("You've spun %d ft of yarn" % (yarn))

نظرًا لأن هذا هو توليد، يمكن إيقاف العبارة while() في الداخل وتعديلها لإنتاج الإخراج الذي نريده، هذا المستوى من التحكم هو في صلب ما يعنيه التوليد وكيف يمكن أن يكون مفيدًا عند معالجة البيانات. لإدخال البيانات في المولد، قم بتعريفه واستخدام وظيفة send() لإدخاله أي بيانات ترغب فيها، على سبيل المثال:

spindle = spin() # إنشاء مثال على المولد next(spindle) # تشغيل المولد خطوة واحدة spindle.send(6) # إدخال بيانات في المولد # في هذه الحالة، ترسل الرقم 6

امش إلى الضوء الذي تحدده علامة X بالقُرب من السجاجيد الملونة ووجّه الأغنام. هناك قاموس ثابت بنفس اسم sheep الذي يحتوي على القيمة الكمية التي يمكنك جزها من كل خروف. استخدم وظيفة speak() مع القاموس ولون السجادة التي تقف عليها، لتقوم بجز صوف الأغنام والتحقق من الكمية التي جمعتها. على سبيل المثال: player.speak(sheep["green"]) .

هناك أربع (4) سجاد ملونة في الإجمال: "green" ، "red" ، "blue" و "orange" . بمجرد جز الصوف، امش إلى العلامة X المظلمة عند كل سجادة ملونة حيث توجد المغازل. استخدم send() لإدخال عدد الأرطال من الصوف المجزوز من كل خروف بلونهم المميز في التوليد.

على سبيل المثال، إذا كنت عندما تجز الصوف في السجادة "green"، تجز 4 أرطال من الصوف، اذهب إلى السجادة "green" عند المغازل و أرسل تلك البيانات إلى التوليد، مثل:

next(spindle) spindle.send( 4)

افعل ذلك لجميع الأربع (4) علامات X المظلمة على السجاد الملونة لإكمال المستوى.

كتاب الكود