في هذا الدرس ، سنرسم كثيرًا باستخدام مكتبة ColabTurtle.
في الإصدارات الأقدم من المواد ، لقد استخدمنا مكتبة turtle وهي متوفرة في كل تثبيت لبايثون ولكن بدأ المزيد والمزيد من مستخدمي Mac في مواجهة مشكلات غير قابلة للإصلاح معها لذلك قررنا التبديل إلى ColabTurtle الذي نستخدمه أيضًا للواجبات المنزلية لهذا الدرس.
ابدأ تشغيل Google Colab باستخدام دفتر ملاحظات تم إنشاؤه حديثًا وقم بتثبيت وتشغيل ColabTurtle بالطريقة التالية.
أولاً ، قم بتشغيل هذا السطر في الخلية الأولى:
!pip3 install ColabTurtle
سيؤدي هذا إلى تثبيت مكتبة ColabTurtle داخل بيئة colab الخاصة بك لهذا الدرس. تحتاج إلى القيام بذلك مرة واحدة في كل دفتر ملاحظات colab ، حيث تريد استخدامه. تحتاج أيضًا إلى تشغيل هذه الخلية إذا قمت بإغلاق دفتر ملاحظات colab هذا وفتحه مرة أخرى.
عندما يتم ذلك ، يمكنك استيراد جميع الدالات من وحدة ColabTurtle باستخدام هذا:
from ColabTurtle.Turtle import initializeTurtle, forward
لا تقلق ، سنناقش دوال ColabTurtle المحتملة طوال الدرس.
قبل البدء في استخدام أي أوامر السلحفاة في خلية جديدة ، تحتاج إلى تهيئتها عن طريق كتابة هذا:
initializeTurtle()
التهيئة تعني أنه يتم إنشاء نافذة جديدة أسفل الخلية الحالية ، ويتم تدوير صورة السلحفاة مع رأسها شمالًا ويمكنك البدء في الرسم!
جرب تحريك السلحفاة للأمام بمقدار 50 وحدة (بكسل الشاشة) عن طريق تشغيل ما يلي في خلية جديدة:
forward(50)
يمكنك أن ترى أنه تم رسم نافذة (canvas) جديد أسفل الخلية الحالية وأن السلحفاة تترك خطًا مرسومًا خلفها بطول 50.
من أجل مسح نافذة (canvas) الرسم للرسم التالي ، تحتاج إلى استدعاء initializeTurtle()
مرة أخرى.
يمكن للسلحفاة الدوران والزحف عبر "الورقة".
from ColabTurtle.Turtle import forward, left, right, initializeTurtle
initializeTurtle()
forward(50)
left(60)
forward(50)
right(60)
forward(50)
هذه بالفعل طريقة قوية للغاية لرسم العديد من الصور الجميلة.
لمزيد من الخطوات ، يمكنك الرجوع بحرية إلى وصف واجهة برمجة تطبيقات ColabTurtle (ما تفعله كل وظيفة متاحة وما هي المعلمات التي تحتوي عليها كل دالة) على https://github.com/tolgaatam/ColabTurtle#api.
ارسم مربعًا.
المربع له أربعة جوانب مستقيمة متساوية وأربع زوايا قائمة 90 درجة.
ارسم مستطيلًا.
حاول أن تجعل السلحفاة "تنظر" إلى الأعلى في النهاية (كما كانت في البداية).
الآن ارسم ثلاثة مربعات ، كل منها يدور بزاوية 20 درجة عن المربع السابق!
هناك الكثير من الكود! يجب أن يكون هناك طريقة لتبسيطه.
الآن سوف نتعلم الأمر for
.
ماذا يفعل الكود التالي؟
for number in range(5):
print(number)
for greeting in 'Ahoj', 'Hello', 'Hola', 'Hei', 'Hallo':
print(greeting + '!')
ماذا يفعل الأمر for
؟
ماذا يفعل البرنامج التالي؟
sum = 0
# lets print how the sum is initialized before the loop starts
print("sum is", sum)
for number in 8, 45, 9, 21:
# internal variable inside the loop is number
print("number is", number)
sum = sum + number
# sum variable is holding the temporary sum of values
print("sum is", sum)
print('loop ended, sum is', sum)
عودة إلى الرسم! هذه المرة سنستخدم الحلقات (loops).
ارسم مربعًا.
استخدم forward
مرتين فقط ، مرة واحدة في الاستيراد
ومرة واحدة كدالة.
الدالتان penup
و pendown
من مكتبة ColabTurtle
تخبر السلحفاة بالتوقف / البدء في الرسم.
حاول رسم خط متقطع.
الآن حاول أن تجعل الخطوط التي يتم رسمها تصبح أكبر تدريجيًا.
مساعدة
ماذا يفعل الأمر for
بالضبط؟
هل يمكننا استخدام المتغير الذي يصنعه؟
تسمية متغير الحلقة (Loop variable Naming)
استخدم دائمًا اسم متغير حلقة معنيًا ، مثل for index_tab_browser in range(3, 18): close_tab_in_browser(index_tab_browser) وليس فقط i ، j ، x ، y وما إلى ذلك. عند استخدام أسماء ذات معنى:
هناك استثناء واحد - عندما تكون هذه حلقة أحادية المستوى ولا معنى للمتغير بخلاف "عدد المرات التي مررت بها خلال هذه الحلقة" ، وفي هذه الحالة يتم استخدام i
عادةً.
أخيرًا ، ارسم ثلاثة مربعات ، كل منها يدور بزاوية 20 درجة.
الآن أنت تعرف كيفية كتابتها بطريقة بسيطة: كرر الكود
باستخدام for
، لا تكرر نفس الكود ثلاث مرات.
عندما تنتهي ، حاول رسم السلالم:
عندما تنتهي أيضًا من السلالم ، حاول رسم 7 سداسيات: