Python İle Çokgen Çizme

Bu örneğimizde, dökümantasyon okuma becerimize katkıda bulunması amacıyla kullanıcıdan girdi alarak Python ile çokgen çizme programı kodlayacağız.

import turtle as t

dino = t.Turtle()

cokgen = int(input("Kaç kenarlı bir çokgen çizmek istiyorsunuz? "))

def draw_shape(cokgen):
    angle = 360/cokgen
    for _ in range(cokgen):
        dino.forward(100)
        dino.right(angle)


draw_shape(cokgen)    
    
t.done()

Yukarıdaki kodumuzda, Python’un grafik arayüz kütüphanesi olan turtle modülünü aktararak (import ederek) çokgenler çiziyoruz. Bu kütüphaneyi t kısaltmasıyla içe aktardık (Dökümantasyon: Turtle sınıfı). Böylece kütüphanedeki fonksiyon ve sınıflara daha kısa bir şekilde erişim sağlamış olduk.

Kodun başında, Turtle sınıfından bir nesne oluşturarak ekranda hareket edecek ve çizim yapacak kaplumbağamızı tanımlıyoruz. Bu nesneyi “dino” adında bir değişkene atıyoruz.

Kullanıcıdan kaç kenarlı bir çokgen çizmek istediğini sormak için input() fonksiyonunu kullanıyoruz. Bu fonksiyon, kullanıcıdan aldığı değeri string olarak geri döndürdüğü için, bu değeri tam sayıya dönüştürmek amacıyla int() fonksiyonunu kullanıyoruz. Bu tam sayıyı “cokgen” adında bir değişkene atıyoruz.

Parametre olarak aldığı kenar sayısına sahip bir çokgeni çizmek için draw_shape adında bir fonksiyon tanımladık. Fonksiyon içerisinde, bir çokgenin iç açılarının toplamının 360 derece olduğunu bilerek, her bir iç açının büyüklüğünü hesaplamak için angle = 360/cokgen formülünü kullanıyoruz.

Fonksiyonun içerisinde for döngüsü kullanarak, belirtilen kenar sayısı kadar dino’nun ileri hareket etmesi ve belirlenen açıda dönmesi sağlanıyor. Bu döngü sayesinde, istenilen kenar sayısına sahip çokgen başarıyla çiziliyor.

Son olarak, t.done() fonksiyonu ile Turtle penceresinin açık kalmasını sağlıyoruz, böylece kullanıcı çizilen şekli gözlemleyebilir.

Bu örneğin dökümantasyon okuma becerilerimizi de geliştireceğini düşünüyorum. Umarım faydalı olmuştur, iyi çalışmalar dilerim.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu