Python ile Yıldızlarla Şekil Çizme Örnekleri

Bu yazımızda, Python ile, yıldızlarla şekil çizme örnekleri derlenmiştir.

  1. Aşağıdaki gibi kare olarak yıldızlanmış şekli kodlayınız:

Yukarıdaki gibi temsili olarak gösterilmiş ve yıldızlardan oluşan bir kare çizmek için “iç içe for” döngüsünü kullandık.

İç içe for döngüsü ile karenin her satırını ve sütununu oluşturuyoruz. Dış döngü, karenin satırlarını oluştururken, iç döngü her satırın sütunlarını oluşturur. Örneğin, 5×5 bir kare oluştururken, dış döngü 5 kez çalışır ve her döngüde iç döngü 5 kez çalışarak her satırın 5 sütununu oluşturur.

Python’da print fonksiyonu, varsayılan olarak her çağrıldığında sonunda bir yeni satır karakteri ekleyecek şekilde ayarlanmıştır. Bu nedenle bir sonraki print çağrısı yeni bir satırda başlamaktadır. Ancak, bu programda, her sütunun aynı satırda olmasını, yani her satır için yıldızlar yan yana gelmesini istiyoruz. Bu nedenle end parametresini boşluk karakteriyle (" ") değiştiriyoruz. Bu sayede, her satırın sütunları aynı satırda oluşturulur ve sonra bir sonraki satıra geçilir. Kodu çalıştırmak için: Trinket

end parametresi, print fonksiyonunun bir parametresidir ve varsayılan olarak yeni satır başlatması için (‘\n‘) olarak ayarlanmıştır. Bu nedenle, print fonksiyonu her çağrıldığında, varsayılan olarak yeni bir satırda başlar.


  1. Aşağıdaki gibi bir dikdörtgen şeklindeki yıldızlamayı kodlayınız:

Benzer şekilde çözümümüzde iç içe for döngüsü kullandık.

Kodumuz, kullanıcının girdiği satır ve sütun sayısına göre bir dikdörtgen oluşturur. Her satırdaki yıldızlar arasında boşluk bulunur ve her satırın sonunda yeni bir satır başlar. Kodu çalıştırmak için: Trinket


  1. Aşağıdaki gibi dik üçgen şeklinde yıldızlanmış şekli kodlayınız:

Benzer şekilde çözümümüzde iç içe for döngüsü kullandık. Bakınız:

Örnektekine benzer şekiller çizmek için, dış döngü her çalıştığında, iç döngü bir öncekinden bir fazla çalıştırmamız gerekir. Bu, her satırda bir yıldız daha fazla basılmasını sağlar ve sonuç olarak bir üçgen oluşturulur. Kodu çalıştırmak için: Trinket

  • İkinci yöntem olarak özyineli bir fonksiyon kullanabiliriz. Özyineli fonksiyonlar, bir fonksiyonun kendi içinde tekrar çağrılmasıyla çalışır. Bu örnekte, f fonksiyonu, n 0’dan büyük olduğu sürece kendini tekrar çağırır ve her çağrıldığında n‘yi 1 azaltır ve de fonksiyonun, n 0 olduğunda sona ermesini sağlar. Fonksiyon her çağrıldığında, n sayısı kadar yıldız basar. Bakınız:

Kodu çalıştırmak için: Trinket

  • Üçüncü yöntem

Bu çözüm yolumuzda for döngüsü ile 1‘den n+1‘e kadar olan sayılar üzerinde dönülüyor. Burada range(1, n+1) fonksiyonu 1‘den n‘e kadar olan sayılar üzerinden dönmeye yarar. Örneğin n=5 ise, range(1, n+1) fonksiyonu 1‘den 5‘e kadar olan sayılar üzerinden dönecektir.

Her dönüşte print fonksiyonu ile ekrana yıldızlar yazdırılıyor. "*" karakteri, döngünün hangi aşamada olduğunu belirten i değişkeni kadar çoğaltılıyor. Yani i=1 iken bir tane, i=2 iken iki tane yıldız yazdırılıyor. Bu sayede piramit şekli oluşturulmuş oluyor. Kodu çalıştırmak için: Trinket


  1. Aşağıdaki gibi yatay piramit şeklini kodlayınız:

Kullanıcıdan bir sayı alıp, bu sayıya göre yukarıda gösterilen deseni oluşturmak için iki adet for döngüsü kullanacağız. Bakınız:

İlk döngü, yıldızları artan sırayla yazdırır. 1’den başlar ve her satırda bir yıldız daha ekler. Bu, döngünün 1’den n’e kadar olan sayılar üzerinde çalışacağı anlamına gelir. Yani, eğer n=5 ise, döngü 1, 2, 3, 4, 5 sayıları için çalışır. Desenin üst yarısını bu mantıkla oluşturduk.

İkinci döngü ise yıldızları azaltan sırayla yazdırır. n-1‘den başlar ve her satırda bir yıldız eksiltir. Bu, döngünün n-1’den 1’e kadar olan sayılar üzerinde çalışacağı anlamına gelir ve her adımda sayıyı bir azaltır. Yani, eğer n=5 ise, döngü 4, 3, 2, 1 sayıları için çalışır. Desenin alt yarısını da bu şekilde oluşturmul olduk.

İki döngü, yani iki yarının çıktısı bir araya geldiğinde, tamamıyla simetrik bir desen oluştururlar. Kodu çalıştırmak için: Trinket

  1. Aşağıdaki gibi, Python kullanarak yıldızlarla piramit çizelim:

Yukarıdaki gibi yıldızlarla bir piramit çizmek için aşağıdaki adımları yaparız:

  1. Kullanıcıdan piramidin kaç satır olacağını belirlemesini istiyoruz. Bu sayıyı n değişkenine atıyoruz.
  2. Daha sonra, 1’den n‘e kadar olan sayılar üzerinde bir döngü başlatıyoruz. Her bir sayı, piramidin bir satırını temsil eder.
  3. Her satır için, öncelikle piramidin o satırında bulunması gereken boşluk sayısını belirliyoruz. Bu, n-i tane boşluk olacak şekilde hesaplanır. i, şu anki satır numarasıdır ve n, toplam satır sayısıdır. Örneğin, 5 satırlık bir piramitte, 1. satırda 4 boşluk, 2. satırda 3 boşluk, ve son satırda 0 boşluk olacaktır.
  4. Daha sonra, her satırdaki yıldız sayısını belirliyoruz. Bu, 2*i-1 tane yıldız olacak şekilde hesaplanır. Örneğin, 1. satırda 1 yıldız, 2. satırda 3 yıldız, ve 5. satırda 9 yıldız olacaktır.
  5. Her satırı tamamladıktan sonra, bir sonraki satıra geçmek için print() fonksiyonunu çağırıyoruz.
  6. Döngü tamamlandığında, piramit tamamlanmış olur ve program sona erer.

Yukarıdaki kod, kullanıcıdan kaç satırlık bir piramit çizmek istediğini sorar ve belirtilen sayıda satırı olan bir piramit çizer. Her satır için, önce boşluklar, sonra yıldızlar yazdırılır. Kodu çalıştırmak için: Trinket

  1. Aşağıdaki gibi, Python kullanarak yıldızlarla ters piramit çizelim:

Ters piramit çizmek için, yukarıda verdiğimiz kodun sadece birkaç yerini değiştireceğiz. Benzer şekilde çözüm yaklaşımımızı adım adım yazalım:

  1. Kullanıcıdan piramidin kaç satırlık olacağını belirten bir tam sayı alıyoruz.
  2. n‘den 1’e kadar olan sayılar üzerinden bir döngü başlatıyoruz. Bu döngü her iterasyonunda bir satırı ekrana yazdırır. Döngü n‘den başlar ve her iterasyonda bir azalır, böylece en üstteki satır en geniş satır olur.
  3. İlk iç döngü, her satırın başında yazılacak boşlukları ekrana yazdırır. Bu döngü, n-i kez çalışır. Yani, en üst satırda (i=n) 0 boşluk, en alt satırda (i=1) n-1 boşluk yazdırılır.
  4. İkinci iç döngü, her satırın yıldızlarını ekrana yazdırır. Bu döngü, 2*i-1 kez çalışır. Yani, en üst satırda (i=n) 2*n-1 yıldız, en alt satırda (i=1) 1 yıldız yazdırılır.
  5. Her iki iç döngü de print fonksiyonunu end='' parametresiyle çağırır. Bu sayede, print fonksiyonu her çağrıldığında bir satır atlamaz, aynı satıra devam eder.
  6. En içteki iki döngünün ardından, print() fonksiyonunu parametresiz çağırarak bir satır atlıyoruz. Bu sayede, bir sonraki iterasyonda yeni bir satıra geçmiş oluyoruz.
  7. Döngü bittiğinde, piramit tamamlanmış olur.

Kodu çalıştırmak için: Trinket

İlgili Makaleler

2 Yorum

Bir yanıt yazın

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

Başa dön tuşu