~/sibercrew
Temel Python

Kontrol Yapıları: if/else ve Döngüler

Bir programın "karar vermesini" ve "tekrar eden işleri otomatik yapmasını" sağlayan iki temel yapı.

Şimdiye kadar veriyi nasıl sakladığımızı gördük. Bu makalede, bir programın gerçekten "akıllıca" davranmasını sağlayan iki temel yapıya bakıyoruz: koşullu ifadeler (if/else) ve döngüler (loops).

if/else: Programın Karar Vermesi

if yapısı, "eğer şu koşul doğruysa, şunu yap" mantığıyla çalışır:

python
port = 443

if port == 443:
    print("Bu HTTPS portu!")
elif port == 80:
    print("Bu HTTP portu!")
else:
    print("Bilinmeyen bir port.")

Burada == işareti "eşit mi?" diye SORAR (tek = işareti ise bir değeri DEĞİŞKENE ATAMAK için kullanılır — bu ikisini karıştırmak yeni başlayanların çok sık yaptığı bir hatadır). elif ("else if"), ilk koşul yanlışsa denenecek ikinci bir koşuldur. else, hiçbir koşul doğru değilse çalışacak "son çare" bloğudur.

Karşılaştırma Operatörleri

OperatörAnlamı
==Eşit mi?
!=Eşit değil mi?
> , <Büyük mü, küçük mü?
>= , <=Büyük veya eşit mi, küçük veya eşit mi?

for Döngüsü: Bir Listenin Her Elemanı Üzerinde Tekrar Etme

Bir önceki makalede öğrendiğimiz listeleri hatırla — bir listedeki HER elemanla aynı işlemi tekrar tekrar yapmak istediğimizde for döngüsü kullanırız:

python
taranacak_portlar = [21, 22, 80, 443, 3389]

for port in taranacak_portlar:
    print(f"Port {port} kontrol ediliyor...")

Bu kod, listedeki HER port numarası için (21'den başlayıp 3389'a kadar) aynı print satırını otomatik olarak tekrar çalıştırır — 5 kez ayrı ayrı print yazmana gerek kalmaz. Bu, "aynı işlemi birden fazla hedef üzerinde tekrarlama" mantığının temelidir ve ileride yazacağımız port tarayıcının da kalbini oluşturacak.

while Döngüsü: Bir Koşul Doğru Olduğu Sürece Tekrar Etme

for döngüsü "belirli sayıda" tekrar ederken, while döngüsü "bir koşul doğru olduğu SÜRECE" tekrar eder:

python
deneme_sayisi = 0

while deneme_sayisi < 3:
    print(f"Deneme {deneme_sayisi + 1}")
    deneme_sayisi = deneme_sayisi + 1

print("3 deneme tamamlandı.")

Dikkat edilmesi gereken önemli bir nokta: while döngüsünde koşulun bir noktada YANLIŞ olmasını sağlaman gerekir (yukarıdaki örnekte deneme_sayisi'nın sürekli artması gibi) — aksi hâlde döngü SONSUZA kadar çalışır (buna "sonsuz döngü" denir ve program asla durmadan çalışmaya devam eder, bu genelde istenmeyen bir durumdur).

Pratik Bir Kombinasyon: if + for Bir Arada

Gerçek kullanımda, bu iki yapı genelde bir arada kullanılır:

python
taranacak_portlar = [21, 22, 80, 443, 3389]
bilinen_guvenli_portlar = [80, 443]

for port in taranacak_portlar:
    if port in bilinen_guvenli_portlar:
        print(f"Port {port}: bilinen, yaygın bir port.")
    else:
        print(f"Port {port}: dikkatli incelenmeli!")

Bu kod, listedeki HER port için (döngü), o portun "bilinen" bir port olup olmadığını KONTROL EDER (koşul) ve buna göre farklı bir mesaj yazdırır — bu, ileride yazacağımız araçların temel mantığının küçük bir örneğidir.

Bu makale, Python'da kontrol yapılarına (if/else ve döngüler) giriş niteliğinde, başlangıç seviyeli bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.