Python'da yığınlama yapısı ve kontrol akışı nasıl işlenir?

Python'da yığınlama yapısı ve kontrol akışı nasıl işlenir?

Python'da yığınlama yapısı ve kontrol akışı, programlama dilinde önemli bir konudur Bu yazıda, yığınlama yapısının nasıl çalıştığı ve kontrol akışının nasıl düzenlendiği gibi konular ele alınmaktadır Okuyucular, Python programlama dilinde bu kritik konuları öğrenecekler ve bu sayede daha etkili programlar yazabilecekler
Translation: Stack structure and control flow in Python are important topics in programming language This post covers topics such as how the stack structure works and how control flow is organized in Python Readers will learn critical topics in Python programming language and will be able to write more effective programs as a result

Python'da yığınlama yapısı ve kontrol akışı nasıl işlenir?

Python, moderne bir programlama dilidir ve yığınlama yapısı ve kontrol akışı kullanarak daha etkili bir şekilde program yazmanızı sağlar. Yığınlama yapısı, bir programın çalışma sırasında birincil önceliklerin belirlenmesine yardımcı olurken, kontrol akışı, programın çalışma sürecini düzenlemek ve yönetmek için kullanılır. Bu makalede, Python'da yığınlama yapısı ve kontrol akışının nasıl kullanılacağı hakkında ayrıntılı bir rehber sunacağız.

Yığınlama yapısı, verilerin belirli bir yığın yapısına yerleştirilmesini sağlar. Bu veriler, bir yapı içinde saklanır ve son veri ilk alınır, yani veriler son giren ilk çıkan mantığına göre yönetilir. Python'da yığınlama yapısını kullanarak, verileri hızlı bir şekilde ekleme, çıkarma ve düzenleme işlemlerinin yanı sıra for ve while döngüleri gibi kontrol yapılarına da erişebilirsiniz.

Kontrol akışı, programın çalışma sırasını değiştirmek için kullanılır. Bu, programın belirli bir koşul sağlandığında veya bir döngüde belirli bir noktaya geldiğinde belirli bir aksiyon almasını sağlar. Kontrol akışı, programlama dilinde kontrol yapıları olarak bilinir ve if, else, elif, while, for gibi anahtar kelimelerle tanımlanır. Bu kontrol yapıları, bir programın belirli bölümlerinin yürütülmesini veya yürütülmemesini sağlar.

  • Yığınlama yapısı, verilerin belirli bir yığın yapısına yerleştirilmesini sağlar.
  • Python'da yığınlama yapısını kullanarak, verileri hızlı bir şekilde ekleme, çıkarma ve düzenleme işlemlerinin yanı sıra for ve while döngüleri gibi kontrol yapılarına da erişebilirsiniz.
  • Kontrol akışı, programın çalışma sırasını değiştirmek için kullanılır.
  • Kontrol akışı, programlama dilinde kontrol yapıları olarak bilinir ve if, else, elif, while, for gibi anahtar kelimelerle tanımlanır.

Yığınlama Yapısı Nedir?

Python'da, yığınlama yapısı, belirli bir sıraya bağlı öğelerin listesi olarak tanımlanabilir. Yığın, son eklenen öğenin ilk çıkarıldığı (son giren, ilk çıkan - LIFO) bir veri yapısı türüdür. Belli bir öğenin yığında bulunup bulunmadığını bulmak veya yığına yeni bir öğe eklemek, yığının işleyişinde çok önemlidir. Python'da bir yığın oluşturmak için, listeyi temel alarak ve birkaç asıl yığın yöntemini uygulayarak bir sınıf tanımlayabiliriz.

İşte bir "Yığın" sınıfı örneği:

class Stack:    def __init__(self):        self.items = []    def isEmpty(self):        return self.items == []    def push(self, item):        self.items.append(item)    def pop(self):        return self.items.pop()    def peek(self):        return self.items[len(self.items)-1]    def size(self):        return len(self.items)

Yukarıdaki örnekte, "Stack" adında bir sınıf tanımladık ve bazı özel yöntemleri, yani isEmpty, push, pop, peek ve size ki bunlar yığına öğe ekleme ve öğe çıkarma, yığının boş olup olmadığını kontrol etme ve yığındaki öğeyi görüntüleme gibi işlevleri yerine getirir.

Yığınlama yapısı, özellikle algoritmaların, çözümleyicilerin ve derleyicilerin ve hatta oyun programlarının arkasındaki mantığı inşa etmek için yaygın olarak kullanılır.


Kontrol Akışı Nasıl Sağlanır?

Kontrol akışı, bir programda belirli koşulların sağlanması durumunda ne yapılacağını belirlemek için kullanılır. Bu, bir dizi komutun yürütülmesi sırasında, programın hangi yoldan ilerleyeceğini belirler. Python'da kontrol akışı, if-else, while ve for gibi kontrol yapılarına sahiptir.

If-Else kontrol yapısı, bir koşulun doğru olduğunda ne yapılacağını ve yanlış olduğunda ne yapılacağını ifade eder. Örneğin, eğer bir kullanıcının yaşına göre bir web sayfasına erişmesine izin veriyorsak, if-else kullanabiliriz. Bu yapının sınaması eşittir, daha fazla veya daha az olabilir. İf-else yapısı, birçok programlama dili tarafından desteklenmektedir.

While kontrol yapısı, ardışık bir kod bloğunu çalıştırırken, belirli bir koşul doğru olduğu sürece tekrarlanır. Kod bloğu, belirtilen koşul doğru olduğu sürece yürütülür ve doğru olmadığında durur. Bu kontrol yapısı da, koşulun durumu (doğru/yanlış) test edilirken kullanılır.

For kontrol yapısı, özellikle sıralanabilir veri türlerindeki öğelere erişirken kullanılır. Örneğin, bir liste veya demet içindeki tüm öğeleri dolaşabileceğimiz döngülere olanak tanır. Bu yapı, belirli bir yinelenen sayıda tekrarlama işlemi gerçekleştirir.

Python'da kontrol akışını kullanarak, programlarınızın doğru şekilde ve daha organize bir şekilde çalışmasını sağlayabilirsiniz. Kontrol akışının hangi kontrol yapısını kullanacağına karar vermek, programın amacına bağlıdır.


If-Else Kontrol Yapısı

Python programlama dilinde kontrol yapıları, programın akışını kontrol etmek için kullanılır. If-else kontrol yapısı, programdaki koşullu ifadelerin işlenmesi için kullanılır. Bu yapı, bir ifade doğruysa bir kod bloğunun çalışmasını ve yanlışsa başka bir kod bloğunun çalışmasını sağlar.

If-else yapısını kullanarak, programlar belirli koşulların sağlanıp sağlanmadığını kontrol edebilir. Örneğin, bir kullanıcının girdiği sayının pozitif, negatif veya sıfır olduğunu kontrol edebilirsiniz:

Kod Açıklama
            num = int(input("Bir sayı giriniz: "))            if num > 0:                print("Sayı pozitiftir.")            elif num == 0:                print("Sayı sıfırdır.")            else:                print("Sayı negatiftir.")         
Program, kullanıcıdan bir sayı alır ve sayının pozitif, negatif veya sıfır olduğunu kontrol eder. Kod blokları, koşulların sağlanmasına göre çalışır.

Yukarıdaki kodun işleyişi şu şekildedir:

  • Kullanıcıdan bir sayı al.
  • İf ifadesi, sayının pozitif olup olmadığını kontrol eder. Eğer pozitifse, "Sayı pozitiftir." çıktısı verilir.
  • Eğer sayı sıfırsa, "Sayı sıfırdır." çıktısı verilir.
  • Yanlışsa, "Sayı negatiftir." çıktısı verilir.

If-else yapısı, programlama dünyasında en sık kullanılan kontrol yapılarından biridir. Bu kontrol yapısı sayesinde programların akışı, belirli koşullara göre kontrol edilir.


Örnek Kod: If-Else Kontrol Yapısı

Python'da if-else kontrol yapısı, programlarda bazı koşulları kontrol etmek için kullanılır. Daha spesifik bir şekilde söylemek gerekirse, if-else kontrol yapısı programların belirli şartları karşılaması durumunda farklı işlemleri gerçekleştirmesini sağlar. Özellikle de programlarınıza birden fazla koşul eklemek istediğinizde if-else yapısını sık sık kullanabilirsiniz.

Örnek olarak, kabul için hazır bir üniversite öğrenci başvuru uygulaması yazalım. Öğrencilerin ortalama puanına ve kabul edilebilir bir yabancı dil puanına sahip olması gerektiğini varsayalım. Eğer student_gpa değişkeni 2.5 veya daha yüksek ise ve student_language_score değişkeni 80 veya daha yüksekse, öğrenci kabul edilir. Ancak, bu koşullardan sadece biri sağlanırsa ya da hiçbir koşul sağlanmazsa, öğrenci kabul edilmeyecektir. Bu koşulları if-else kontrol yapısı ile programımıza dahil edelim:

student_gpa student_language_score Acceptance
3.5 90 Accepted
3.0 60 Rejected
2.0 85 Rejected
2.8 75 Rejected

Aşağıda, Python dilinde if-else kontrol yapısını kullanarak öğrenci kabul edilebilirliğini kontrol etme kodunu gösteren bir örnek:

student_gpa = 3.5student_language_score = 90if student_gpa >= 2.5 and student_language_score >= 80:    print("Öğrenci kabul edildi")else:    print("Öğrenci kabul edilmedi")

Bu örnekte, eğer öğrenci ortalama puanı 2.5 ve yabancı dil puanı 80 veya daha yüksekse, öğrenci kabul edilir ve "Öğrenci kabul edildi" yazdırılır. Eğer hiçbir koşul sağlanmazsa, öğrenci kabul edilmediği için "Öğrenci kabul edilmedi" yazdırılır.


Örnek Kod: While Kontrol Yapısı

Python programlama dilinde while döngüsü, belirli bir koşulun sağlanıp sağlanmadığını kontrol ederek belirtilen işlemleri tekrarlamak için kullanılır. Yani, belirli bir koşul sağlandığı sürece döngü devam eder ve koşul sağlanmadığında döngü sona erer.

Örneğin, bir sayıyı kullanıcının girdiği ve bu sayının 0'a eşit olana kadar 1 azaltıldığı bir program yazalım. Bu örnekte, while döngüsü, kullanıcının girdiği sayının değerinin 0 olup olmadığını kontrol edecek ve sayı 0'a eşit olana kadar döngüyü tekrarlayacaktır.

Örnek Kod
sayi = int(input("Bir sayı girin: "))while sayi != 0:    print(sayi)    sayi = sayi - 1print("Program sonlandı.")

Yukarıdaki kodda, kullanıcıdan girdiğimiz sayı sayi değişkenine atanır. Daha sonra, sayı değeri 0 olana kadar while döngüsü devam eder ve her turda sayı değişkeninin değeri ekrana yazdırılır ve sayı 1 azaltılır. Son olarak, döngü tamamlandığında "Program sonlandı." mesajı ekrana yazdırılır.

Bu örnek, while döngüsünün basit bir kullanımını gösterir. Bu yapı, birçok farklı senaryoda kullanılabilir ve programın daha dinamik ve esnek olmasına olanak tanır.


For Döngüsü ve Kontrol Akışı

Python dilinde for döngüsü, belirli bir dizi veya koleksiyonun içindeki her öğe için tekrar eden bir yapı oluşturur. For döngüsü ile, bir liste, demet, sözlük veya dize gibi bir veri türündeki öğeleri teker teker işleyebilirsiniz.

Örneğin, bir liste içindeki her öğeyi almak ve üzerinde bir işlem yapmak istediğinizde, for döngüsü kullanabilirsiniz. Bu yapı, belirli bir koşul yerine belirli bir sayıda tekrarlanacağından, kontrol akışında büyük bir rol oynar.

Aşağıda örnek bir for döngüsü programı verilmiştir:

Kod: Açıklama:
    fruits = ["elma", "armut", "kiraz"]    for x in fruits:        print(x)
Bir meyve listesindeki her öğe için döngü oluşturulur ve her öğe yazdırılır.

Bu örnek program, "elma", "armut" ve "kiraz" gibi meyvelerin listesini oluşturur ve her bir öğeyi for döngüsü kullanarak yazdırır.

For döngüsünün sağladığı bir diğer önemli özellik, "range" fonksiyonunun kullanmasıdır. Bu, belirtilen sayı aralığındaki sayılar için döngü oluşturma imkanı verir. Aşağıdaki örnekte, 0'dan 5'e kadar olan sayılar için bir döngü oluşturulmuştur:

Kod: Açıklama:
    for x in range(6):        print(x)
0-5 aralığındaki her sayı için döngü oluşturulur ve sayılar yazdırılır.

For döngüsü, Python'da kontrol akışının bir unsuru olarak kullanılabilir ve birçok alanda farklı şekillerde kullanılabilir. Örneğin, dosya okuma/yazma işlemlerinde kullanılabilir veya bir dizi belirli işlemler için işlenirken kullanılabilir.


Pratik Uygulama

Python'da yığınlama yapısı ve kontrol akışlarına dair öğrendiklerimizi bir uygulama üzerinde pekiştirmeye ne dersiniz? Basit bir uygulama oluşturarak öğrendiğimiz konuları birleştirip uygulamalı olarak kullanabiliriz.

Bu uygulamada, kullanıcıdan bir sayı girmesi istenecek ve girilen sayının çift mi, tek mi olduğu kontrol edilecek. Eğer girilen sayı çiftse, 2 ile bölünmüş hali çıktı olarak gösterilecek, tek sayı ise 3 ile çarpılmış hali çıktı olarak gösterilecek.

Aşağıdaki tabloda uygulamanın adımlarını detaylı olarak görebilirsiniz:

Adım Açıklama
1 Kullanıcıdan bir sayı girmesi istenir.
2 Girilen sayının çift mi, tek mi olduğu kontrol edilir.
3 Çift sayıysa, sayı 2'ye bölünür ve sonuç çıktı olarak gösterilir.
4 Tek sayıysa, sayı 3 ile çarpılır ve sonuç çıktı olarak gösterilir.

Uygulamada kullanılacak olan Python kodu ise şöyle olacak:

num = int(input("Bir sayı girin: "))

if num % 2 == 0: print(num, "çift bir sayıdır.") print("2 ile bölündüğünde", num/2, "verir.")else: print(num, "tek bir sayıdır.") print("3 ile çarpıldığında", num*3, "verir.")

Yukarıdaki kodu Python yorumlayıcısına yazarak uygulamayı test edebilirsiniz. Ardından kendi değişkenlerinizi kullanarak farklı değerler deneyerek uygulamayı test edebilirsiniz.

Umarım bu uygulama örneği yaparak, yığınlama yapısı ve kontrol akışlarını daha iyi anlamış ve pratik yaparak kendinizi geliştirmiş olursunuz.


Uygulama Örnek Kodu

Python programlama dilinin sunduğu yığınlama yapısı ve kontrol akışı, geliştirilen uygulamaların akışını daha anlaşılır hale getirebilir.

Örneğin, bir hesap makinesi uygulaması yazarken, kullanıcıdan alınan iki sayı üzerinde yapılacak işlem değişkenleri, if-else kontrol yapısı kullanılarak hızlı ve anlaşılır bir şekilde yönetilebilir.

Python'da yığınlama yapısı ve kontrol akışının kullanımına dair örnek bir kod, aşağıdaki gibidir:

Kod Açıklama
x = 5 x değişkenine 5 değeri atanıyor
y = 10 y değişkenine 10 değeri atanıyor
if x > y: x, y'den büyük olduğunda aşağıdaki kod bloğu çalışacak:
 print("x, y'den büyüktür") -
else: x, y'den küçük veya eşit olduğunda aşağıdaki kod bloğu çalışacak:
 print("x, y'den küçüktür veya eşittir") -

Bu kod, kullanıcıdan alınan iki sayı arasındaki karşılaştırmayı yapar ve sonuca göre ilgili mesajı yazdırır. Ayrıca, burada kullanılan if-else kontrol yapısı, sadece iki şartlı durum arasında karar verirken kullanılabilir.

Bir diğer kontrol yapısı ise while döngüsüdür. Bu yapı, belirli bir şart sağlandığı sürece işlemleri tekrar etmek için kullanılır. For döngüsü ise, belirli bir aralıkta işlemleri tek tek gerçekleştirmek için kullanılır.

Python'da yığınlama yapısı ve kontrol akışı, uygulama geliştiricilerin işlerini kolaylaştıran ve kodları daha anlaşılır hale getiren önemli bir özelliktir. Bu yapının kullanımı, uygulama geliştirme sürecinde büyük bir kolaylık sağlar.