Turtle
Course 👨💻 Pyhton
Bu içerikte Python Programlama içerisinde dahil olarak gelen Turtle kütüphanesini
kullanacağız. Python Turtle , programlamaya yeni başlayan kişilere, programlamanın
temellerini anlatmak ve somutlaştırmak için tercih edilir. Bu sayede değişkenler, operatörler,
koşul yapıları, döngüler ve fonksiyonlar kavramı daha kolay ve eğlenceli bir şekilde
öğrenilebiliyor. Bu tarz içeriklerle de amacım sizlere python’ı eğlenceli hale getirerek
öğretmektir. Aşağıdaki örnekleri tek tek uygulayarak nasıl şekiller ortaya çıktığını
anlamlandırmaya çalışınız. Gerekli açıklamalar kodların yanına yorum satırı olarak
yazılmıştır. İyi çalışmalar dilerim.
ÖRNEK 1 – Merdiven Basamağı Çizimi
KOD
import turtle #kütüphaneyi ekler.
[Link](100) #100px ileri
[Link](90) #90 derece sağa
[Link](100) #100px ileri
[Link](90) #90 derece sola
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 1 ÇIKTISI
Turtle 1
ÖRNEK 2 – Kenar Uzunluğu 100 pixel olan Kare Çizimi (Döngüsüz)
KOD
import turtle #kütüphaneyi ekler.
x = [Link]() #x adlı bir çizici oluşturur.
[Link](100) #x çizicisi 100px öne
[Link](90) #x çizicisi 90 derece sola döner
[Link](100)
[Link](90)
[Link](100)
[Link](90)
[Link](100)
[Link](90)
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 2 ÇIKTISI
Turtle 2
ÖRNEK 3 – Kenar Uzunluğu 100 pixel olan Üçgen Çizimi (Döngüsüz)
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]()
[Link](100) #100px ileri
[Link](120) #120 derece sola
[Link](100) #100px ileri
[Link](120) #120 derece sola
[Link](100) #100px ileri
[Link](120) #120 derece sola
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 3 ÇIKTISI
Turtle 3
ÖRNEK 4 – Döngü Kullanarak Kenar Uzunluğu 100 pixel olan Yeşil Renk Üçgen Çizimi
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]() #ok adında bir kalem oluşturur.
[Link](5) #kalem kalınlığını 5 yapar
[Link]("green") #kalem rengini yeşil yapar
for i in range(3): #içerisindeki kodları 3 kere tekrarlar
[Link](100) #100px ileri
[Link](120) #120 derece sola
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 4 ÇIKTISI
Turtle 4
ÖRNEK 5 – Döngü Kullanarak Kenar Uzunluğu 100 pixel olan Turuncu Kare Çizimi
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]() #ok adında bir kalem oluşturur.
[Link](10) #kalem kalınlığını 10 yapar
[Link]("orange") #kalem rengini turuncu yapar.
for i in range(4): #içerisindeki kodları 3 kere tekrarlar
[Link](200) #100px ileri
[Link](90) #120 derece sola
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 5 ÇIKTISI
Turtle 5
ÖRNEK 6 – Yanyana Kenar Uzunluğu 100 pixel Olan 4 Tane Eş Kenar Üçgen Çizimi
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]()
for a in range(4):
for i in range(3): #içerisindeki kodları 3 kere tekrarlar
[Link](100) #100px ileri
[Link](120) #120 derece sola
[Link](100) #her bir üçgenden sonra 100 ileri gider
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 6 ÇIKTISI
Turtle 6
ÖRNEK 7 – Sayfanın sol tarafına Kırmızı Renkte Kenar Uzunluğu 100 px olan Kırmızı Kare
Çizimi (Açılan Çizim(Canvas) alanını genişletin. Aksi halde görünmeyebilir.)
KOD
import turtle #kütüphaneyi ekler.
a = [Link]()
[Link]("red") #kalem rengini kırmızı yapar
[Link]() #kalemi kaldırır
[Link](500) #geri 500px gider
[Link]() #kalemi bastırır.
for i in range(4):
[Link](100)
[Link](90)
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 7 ÇIKTISI
Turtle 7
ÖRNEK 8 – Yan yana uzunlukları ve aralarındaki boşlukları 50 pixel olan Mavi Renkli
Kesikli Çizgi Çizimi
KOD
import turtle #kütüphaneyi ekler.
a = [Link]()
[Link]("blue") #kalem rengini mavi yapar
[Link]() #kalemi kaldırır
[Link](500) #geri 500px gider
[Link]() #kalemi bastırır.
for i in range(8):
[Link](50)
[Link]()
[Link](50)
[Link]()
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 8 ÇIKTISI
ÖRNEK 9 – Yanyana 10 tane ters üçgen çizimi
KOD
import turtle #kütüphaneyi ekler.
a = [Link]()
[Link](0) #çizicinin hızını en hızlı yapar.
[Link]() #kalemi kaldırır
Turtle 8
[Link](500) #geri 500px gider
[Link]() #kalemi bastırır.
for c in range(10):
for i in range(3):
[Link](50)
[Link](120)
[Link]()
[Link](75)
[Link]()
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 9 ÇIKTISI
ÖRNEK 10 – Çember Çizimi
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]()
[Link](150) #yarı çapı 150 olan bir çember çizer
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar.
ÖRNEK 10 ÇIKTISI
Turtle 9
ÖRNEK 11 – İç içe 4 Çember Çizimi
KOD
import turtle #kütüphaneyi ekler.
cizici = [Link]()
[Link]()
[Link](180)
[Link](400)
[Link](180)
[Link]()
for c in range(4):
[Link](100)
[Link]()
[Link](150)
[Link]()
[Link]() #tuvali açık tutar. bunu unutmayın.
Turtle 10
ÇIKTI
ÖRNEK 12 – Bir kare ve Üstüne Üçgen Çizimi
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]() #ok adında bir kalem oluşturur.
[Link](10) #kalem kalınlığını 10 yapar
[Link]("orange") #kalem rengini turuncu yapar.
for i in range(4): #içerisindeki kodları 4 kere tekrarlar
[Link](200) #200px ileri
[Link](360/4) #360/4 = 90 derece sola
[Link]("purple") #kalem rengini mor yapar.
for c in range(3): #içerisindeki kodları 3 kere tekrarlar
[Link](200) #100px ileri
[Link](360/3) #360/3 = 120 derece sola
[Link]() #Bu her zaman en sona yazılmalıdır.
#Çizim ekranını açık tutar..
ÇIKTI
Turtle 11
ÖRNEK 13 – Kenar Rengi Siyah, İç Rengi Sarı Olan Beşgen Çizimi
KOD
import turtle #kütüphaneyi ekler.
ok = [Link]() #ok adında bir kalem oluşturur.
[Link](10) #kalem kalınlığını 10 yapar
[Link]("black","yellow") #kalem rengini siyah, iç rengini sarı yapar.
ok.begin_fill() #boyamayı başlatır.
for i in range(5): #içerisindeki kodları 5 kere tekrarlar
[Link](200) #100px ileri
Turtle 12
[Link](360/5) #360/4 = 90 derece sola
ok.end_fill() #boyamayı bitirir.
[Link]() #Tuvali açık tutar. En sona yazılmalıdır.
ÇIKTI
ÖRNEK 14 – Yanyana Renkli Üçgen ve Kare Çizimi
KOD
import turtle #kütüphaneyi ekler.
k = [Link]() #ok adında bir kalem oluşturur.
[Link](3) #kalem kalınlığını 10 yapar
uzunluk = 100
Turtle 13
[Link]("black","yellow") #kalem rengini turuncu, iç rengini sarı yapar.
k.begin_fill() #boyamayı başlatır.
for i in range(3): #içerisindeki kodları 3 kere tekrarlar
[Link](uzunluk) #uzunluk değişkeni kadar ileri
[Link](360/3) #360/4 = 90 derece sola
k.end_fill() #boyamayı bitirir.
[Link]() #kalemi kaldırır.
[Link](150) #kalemi çizmeden 150px ileri götürür.
[Link]() #kalemi tekrardan bastırır.
[Link]("blue","red") #kalem rengini mavi, iç rengini kırmızı yapar.
k.begin_fill() #boyamayı başlatır.
for i in range(4): #içerisindeki kodları 3 kere tekrarlar
[Link](uzunluk) #uzunluk değişkeni kadar ileri
[Link](360/4) #360/4 = 90 derece sola
k.end_fill() #boyamayı bitirir.
[Link]() #Tuvali açık tutar. En sona yazılmalıdır.
ÇIKTI
ÖRNEK 15 – Yanyana Farklı Renkte Kare Çizimi (Dizi Kullanımı)
Turtle 14
KOD
import turtle
#0. indexte kırmızı, 1. indexte yeşil, 2. indexte mavi renk var
renkler = ["red","green","blue"] #3 renk bulunan dizi tanımlandı.
uzunluk = 200
kenarSayisi = 4
kalemKalinligi = 5
[Link](kalemKalinligi)
#i değişkeni sırasıyla 0,1 ve 2 değerini alacak.
for i in range(3): #3 kere tekrar edecek döngü
#i değişkenin ilk değeri 0. yani ilk renk red olacak.
[Link]("black",renkler[i]) #renkler dizisi içerisindeki renkleri sırasıyla ya
#1 kare çizecek. toplamda 3 kare
turtle.begin_fill()
for a in range(kenarSayisi): #kenarSayisi değişkeni değeri kadar tekrarla
[Link](uzunluk) #fd, forward'ın kısaltılmış hali. uzunluk kadar çiz.
[Link](360 / kenarSayisi) #lt, left'in kısa hali.
turtle.end_fill() #boyamayı bitir.
[Link]() #kalemi kaldır
[Link](250) #çizmeden 250px ilerle
[Link]() #kalemi bastır.
[Link]()
ÇIKTI
Turtle 15
ÖRNEK 16 – İç içe Üçgen ve Kare Çizme Fonksiyonu (Parametresiz)
KOD
import turtle #kütüphaneyi dahil eder.
x = [Link]() #çiziciyi oluşturur.
def kareCiz(): #kare çizme fonksiyonu
for i in range(4):
[Link](250)
[Link](360/4)
def ucgenCiz(): #ucgen Çizme fonksiyonu
for a in range(3):
[Link](250)
[Link](360/3)
kareCiz() #kare çizme fonksiyonu çağrıldı.
ucgenCiz() #üçgen çizme fonksiyonu çağrıldı.
[Link]() #Canvası açık tutar. sonda olmalı
ÖRNEK 16 ÇIKTISI
Turtle 16
ÖRNEK 17 – İç içe Renkli Üçgen ve Kare Çizme Fonksiyonu
KOD
import turtle #kütüphaneyi dahil eder.
x = [Link]() #çiziciyi oluşturur.
def kareCiz(): #kare çizme fonksiyonu
[Link]("black","blue")
[Link](5)
x.begin_fill()
for i in range(4):
[Link](250)
[Link](360/4)
x.end_fill()
def ucgenCiz(): #ucgen Çizme fonksiyonu
[Link]("black","yellow")
[Link](5)
Turtle 17
x.begin_fill()
for a in range(3):
[Link](250)
[Link](360/3)
x.end_fill()
kareCiz() #kare çizme fonksiyonu çağrıldı.
ucgenCiz() #üçgen çizme fonksiyonu çağrıldı.
[Link]() #Canvası açık tutar. sonda olmalı
ÖRNEK 17 ÇIKTISI
ÖRNEK 18 – Fonksiyon Parametreleri kullanarak Kare ve Üçgen Çizen Fonksiyonlar
KOD
import turtle #kütüphaneyi dahil eder.
x = [Link]() #çiziciyi oluşturur.
Turtle 18
def kareCiz(uzunluk,kenarRengi,icRenk,kalemKalinligi): #kare çizme fonksiyon
[Link](kenarRengi,icRenk)
[Link](kalemKalinligi)
x.begin_fill()
for i in range(4):
[Link](uzunluk)
[Link](360/4)
x.end_fill()
def ucgenCiz(uzunluk,kenarRengi,icRenk,kalemKalinligi): #ucgen Çizme fonks
[Link](kenarRengi,icRenk)
[Link](kalemKalinligi)
x.begin_fill()
for a in range(3):
[Link](uzunluk)
[Link](360/3)
x.end_fill()
def boslukBirak(mesafe): #boşluk bırakma fonksiyonu tanımlandı
[Link]()
[Link](mesafe)
[Link]()
kareCiz(200,"blue","cyan",10) #kare çizme fonksiyonu çağrıldı.
boslukBirak(300) #bosluk bırakma fonksiyonu çağrıldı.
ucgenCiz(250,"red","yellow",5) #üçgen çizme fonksiyonu çağrıldı.
[Link]() #Canvası açık tutar. sonda olmalı
ÖRNEK 18 ÇIKTISI
Turtle 19
ÖRNEK 19 – Döngü ile 3 kere bir kare bir üçken çizen fonksiyonlar
KOD
import turtle #kütüphaneyi dahil eder.
x = [Link]() #çiziciyi oluşturur.
def kareCiz(uzunluk,kenarRengi,icRenk,kalemKalinligi): #kare çizme fonksiyon
[Link](kenarRengi,icRenk)
[Link](kalemKalinligi)
x.begin_fill()
for i in range(4):
[Link](uzunluk)
[Link](360/4)
x.end_fill()
def ucgenCiz(uzunluk,kenarRengi,icRenk,kalemKalinligi): #ucgen Çizme fonks
[Link](kenarRengi,icRenk)
[Link](kalemKalinligi)
x.begin_fill()
for a in range(3):
[Link](uzunluk)
[Link](360/3)
Turtle 20
x.end_fill()
def boslukBirak(mesafe): #boşluk bırakma fonksiyonu tanımlandı
[Link]()
[Link](mesafe)
[Link]()
#Çiziciyi geriye götürme işlemi
[Link](180) #imleci ters yöne çevirir.
boslukBirak(600) #600px bosluk birakir
[Link](180) #imleci tekrardan ters yöne çevirir
for c in range(3):
kareCiz(150,"black","yellow",10) #kare çizme fonksiyonu çağrıldı.
boslukBirak(200) #bosluk bırakma fonksiyonu çağrıldı.
ucgenCiz(150,"black","red",5) #üçgen çizme fonksiyonu çağrıldı.
boslukBirak(200)
[Link]() #Canvası açık tutar. sonda olmalı
ÖRNEK 19 ÇIKTISI
ÖRNEK 20 – Döngü Değişkenine Göre Farklı Çokgen Oluşturan Fonksiyonlar
KOD
import turtle
x = [Link]()
def cokgen(uzunluk,kenarSayisi,kalemKalinligi,disRenk,icRenk):
[Link](kalemKalinligi)
[Link](disRenk,icRenk)
Turtle 21
x.begin_fill()
for i in range(kenarSayisi):
[Link](uzunluk)
[Link](360 / kenarSayisi)
x.end_fill()
def boslukBirak(mesafe):
[Link]()
[Link](mesafe)
[Link]()
[Link]()
[Link](-800,0) #x = -800 y = 0 konumuna gider.
[Link]()
for i in range(3,8,1): #3'den başla 8' e kadar birer birer arttır.
cokgen(150,i,5,"black","yellow")
# döngü değişkenini 70 ile çarpıp her şekilde farklı boşluk bırakır.
boslukBirak(70 * i)
[Link]()
ÖRNEK 20 ÇIKTISI
Lecture Videos:
[Link]
programlama/learn/lecture/40711802#overview
Turtle 22
[Link]
programlama/learn/lecture/40711804#overview
[Link]
programlama/learn/lecture/40711810#overview
[Link]
programlama/learn/lecture/40711812#overview
[Link]
programlama/learn/lecture/40711814#overview
[Link]
programlama/learn/lecture/40711816#overview
Turtle 23