# Python'a sıfırdan başla, 1. ders: değişkenler, koşullar, döngüler ve fonksiyonlar (her satırı açıklamalı)

**URL:** <https://sibernobet.com/t/pythona-sifirdan-basla-1-ders-degiskenler-kosullar-donguler-ve-fonksiyonlar-her-satiri-aciklamali/70>\
**Category:** Kod · Code\
**Tags:** ders, python, baslangic\
**Created:** [Ekim 4, 2026, 3:06öö UTC](https://sibernobet.com/t/pythona-sifirdan-basla-1-ders-degiskenler-kosullar-donguler-ve-fonksiyonlar-her-satiri-aciklamali/70 "2026-10-04T03:06:22Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![KodAlbay](https://sibernobet.com/user_avatar/sibernobet.com/kodalbay/32/64_2.png) [@KodAlbay](https://sibernobet.com/u/KodAlbay)\
**Post date:** [Ekim 4, 2026, 3:06öö UTC](https://sibernobet.com/t/pythona-sifirdan-basla-1-ders-degiskenler-kosullar-donguler-ve-fonksiyonlar-her-satiri-aciklamali/70/1 "2026-10-04T03:06:22Z")

</div>

Python, okunması en kolay programlama dillerinden biri. Yapay zekâdan web’e, otomasyondan siber güvenliğe kadar her alanda kullanılıyor. Bu derste hiç kod bilmeyen birinin anlayacağı şekilde **dört temel taşı** öğreniyoruz.

### Kurulum (5 dakika)

1. **[python.org](http://python.org)** adresinden güncel Python 3 sürümünü indir.
2. Windows’ta kurulumun ilk ekranında **“Add python.exe to PATH”** kutusunu işaretle (çok önemli).
3. Terminal/komut istemi aç ve `python --version` yaz. Sürüm numarası görüyorsan hazırsın.
4. Kod yazmak için **VS Code** öneriyoruz (Rehberler’de kurulum konusu var).

Aşağıdaki kodu `ders1.py` adıyla kaydet ve terminalde `python ders1.py` ile çalıştır.

### 1. Değişkenler: bilgiyi saklamak

```python
isim = "Ayşe" # metin (string): tırnak içinde yazılır
yas = 21 # tam sayı (int)
boy = 1.68 # ondalıklı sayı (float): Türkçedeki virgül yerine NOKTA kullanılır
ogrenci_mi = True # doğru/yanlış (bool): True ya da False

print("Merhaba", isim) # ekrana yazdırır: Merhaba Ayşe
print(f"{isim} {yas} yaşında.") # f-string: süslü parantez içindeki değişkeni metne yerleştirir

```

**Ne yapıyor?** Değişken, içine değer koyduğun etiketli bir kutu gibidir. `=` işareti “eşittir” değil, **“sağdakini soldaki kutuya koy”** anlamına gelir. `#` ile başlayan kısımlar **yorumdur** ; Python onları çalıştırmaz, sadece insanlar için not.

### 2. Kullanıcıdan bilgi almak

```python
from datetime import date # tarih işlemleri için Python'un hazır modülü

ad = input("Adın ne? ") # kullanıcı bir şey yazıp Enter'a basana kadar bekler
yil = int(input("Doğum yılın? ")) # input her zaman metin döndürür; int() onu sayıya çevirir
bu_yil = date.today().year # bilgisayarın saatinden bu yılı alır
print(f"Merhaba {ad}, bu yıl {bu_yil - yil} yaşına giriyorsun.")

```

**Ne yapıyor?** `input` kullanıcıdan metin alır. Sayıyla hesap yapacaksan `int()` ile sayıya çevirmen gerekir. Çevirmezsen “2000” metniyle çıkarma yapılamaz ve hata alırsın. Yılı koda elle yazmak yerine `date.today().year` ile bilgisayardan alıyoruz; böylece program gelecek yıl da doğru çalışır.

### 3. Koşullar: karar vermek

```python
puan = 72

if puan >= 85: # eğer puan 85 veya üstüyse...
    print("Pekiyi") # ...bu satır çalışır (girintiye dikkat: 4 boşluk)
elif puan >= 50: # değilse, 50 veya üstüyse...
    print("Geçti")
else: # hiçbiri değilse...
    print("Kaldı")

```

**Ne yapıyor?** Python yukarıdan aşağı bakar ve **ilk doğru olan** koşulun bloğunu çalıştırır, gerisini atlar. Burada sonuç “Geçti” olur.  
**Önemli:** Python’da süslü parantez yok. Hangi satırın koşula ait olduğunu **girinti (4 boşluk)** belirler. En sık yapılan başlangıç hatası girintiyi karıştırmaktır.

### 4. Döngüler: tekrar etmek

```python
# for: belli sayıda tekrar
for i in range(1, 6): # range(1, 6) → 1, 2, 3, 4, 5 (6 dahil DEĞİL)
    print(i, "x 7 =", i * 7)

# bir liste üzerinde dolaşmak
meyveler = ["elma", "armut", "kiraz"] # liste: köşeli parantez içinde birden fazla değer
for meyve in meyveler:
    print(meyve.upper()) # upper(): metni büyük harfe çevirir

# while: bir koşul doğru olduğu sürece tekrar
sayac = 3
while sayac > 0:
    print("Geri sayım:", sayac)
    sayac -= 1 # sayac = sayac - 1 ile aynı; yazmazsan döngü hiç bitmez!
print("Başla!")

```

**Ne yapıyor?** `for`, bir dizinin her elemanı için bloğu bir kez çalıştırır. `while` ise koşul yanlış olana kadar döner. `while` kullanırken koşulu bir gün yanlış yapacak bir satır yazmayı unutma, yoksa program sonsuza kadar döner (durdurmak için **Ctrl + C** ).

### 5. Fonksiyonlar: kodu paketlemek

```python
def kdv_ekle(fiyat, oran=20): # def: fonksiyon tanımla; oran verilmezse 20 kabul edilir
    """Fiyata KDV ekler ve sonucu döndürür.""" # açıklama satırı (docstring)
    return round(fiyat * (1 + oran / 100), 2) # return: sonucu geri verir; round(..., 2): 2 haneye yuvarlar

print(kdv_ekle(100)) # 120.0
print(kdv_ekle(100, 10)) # 110.0

```

**Ne yapıyor?** Aynı işi defalarca yapacaksan onu bir isim altında paketlersin. `fiyat` ve `oran` fonksiyonun **parametreleri** , yani dışarıdan aldığı bilgiler. `return` hesaplanan sonucu geri verir.  
**Neden `round`?** Bilgisayar ondalık sayıları ikilik sistemde sakladığı için `100 * 1.1` işlemi `110.00000000000001` gibi küçük bir sapmayla çıkar. Para hesaplarında sonucu yuvarlamak bu yüzden önemlidir. (Gerçek muhasebe yazılımlarında bunun için `decimal` modülü kullanılır.)

### Hepsi bir arada: mini proje (sayı tahmin oyunu)

```python
import random # rastgele sayı üretmek için hazır modülü çağırır

def oyun():
    gizli = random.randint(1, 100) # 1 ile 100 arasında (ikisi dahil) rastgele bir sayı
    deneme = 0
    while True: # sonsuz döngü; doğru tahminde 'break' ile çıkacağız
        tahmin = int(input("1-100 arası tahminin: "))
        deneme += 1
        if tahmin < gizli:
            print("Daha büyük ⬆️")
        elif tahmin > gizli:
            print("Daha küçük ⬇️")
        else:
            print(f"Bildin! 🎉 {deneme} denemede buldun.")
            break # döngüden çık

oyun() # fonksiyonu çalıştır

```

**Ne yapıyor?** Bilgisayar gizli bir sayı tutar; sen tahmin ettikçe “büyük/küçük” diye yönlendirir, bildiğinde kaç denemede bulduğunu söyler. Bu küçük oyunda bu dersteki her şey var: **değişken, input, koşul, döngü, fonksiyon.**

### Ödev

1. Oyuna **deneme sınırı** ekle: 7 denemede bulamazsa “Kaybettin, sayı şuydu: …” desin.
2. Kullanıcı sayı yerine harf yazarsa program çöküyor. Bunu engelle. İpucu: `try` / `except ValueError` (2. derste anlatacağız).

Çözümünü bu konuya at; kodunu birlikte inceleyelim. Sonraki derste: **listeler, sözlükler ve dosya okuma/yazma.**
