الرسم في بايثون

سنعرض في هذه المقالة استخدام مكتبة Turtle في بايثون من أجل الرسم, حيث تعتبر هذه المكتبة بمثابة لوح رسم تستطيع التحكم بالفرشاة ببعض الأوامر لترسم ماشئت. يمكن استخدام أوامر مثل turtle.forward() او turtle.left() للتحكم بالفرشاة وتحريكها حول لوح الرسم.

Python Turtle Fun - DEV Community
الرسم في بايثون

قبل استخدام أداة Turtle يجب عليك استيراد المكتبة الخاصة بها، ننصح بالبدء بالعمل معها ضمن واجهة بايثون التفاعلية بعد أن تصبح متألف معها بشكل جيد يمكنك التعامل معها من خلال كتابة أوامر توجيهية في ملف سكربت.

يمكن استيراد المكتبة بالتعليمة التالية:

import turtle
turtle.forward(25)
_images/forward.png
turtle.left(30)
_images/left.png

رسم نجمة في بايثون

from turtle import *
color('red', 'yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
        break
end_fill()
done()
../_images/turtle-star.png

رسم منزل في بايثون

قم بتجريب النص البرمجي التالي لرسم منزل في بايثون

import turtle


t = turtle.Turtle()

# for background
screen = turtle.Screen()
screen.bgcolor("yellow")

#color and speed
# of turtle
# creating the house
t.color("black")
t.shape("turtle")
t.speed(1)

# for creating base of
# the house
t.fillcolor('cyan')
t.begin_fill()
t.right(90)
t.forward(250)
t.left(90)
t.forward(400)
t.left(90)
t.forward(250)
t.left(90)
t.forward(400)
t.right(90)
t.end_fill()

# for top of
# the house
t.fillcolor('brown')
t.begin_fill()
t.right(45)
t.forward(200)
t.right(90)
t.forward(200)
t.left(180)
t.forward(200)
t.right(135)
t.forward(259)
t.right(90)
t.forward(142)
t.end_fill()

# for door and
# windows
t.right(90)
t.forward(400)
t.left(90)
t.forward(50)
t.left(90)
t.forward(150)
t.right(90)
t.forward(200)
t.right(180)
t.forward(200)
t.right(90)
t.forward(200)
t.right(90)
t.forward(150)
t.right(90)
t.forward(200)
t.right(90)
t.forward(150)
t.right(90)
t.forward(100)
t.right(90)
t.forward(150)
t.right(90)
t.forward(100)
t.right(90)
t.forward(75)
t.right(90)
t.forward(200)
t.right(180)
t.forward(200)
t.right(90)
t.forward(75)
t.left(90)
t.forward(15)
t.left(90)
t.forward(200)
t.right(90)
t.forward(15)
t.right(90)
t.forward(75)