# input() ile aldığım iki sayıyı toplayınca 5 + 3 = 53 çıkıyor 🤔

**URL:** <https://sibernobet.com/t/input-ile-aldigim-iki-sayiyi-toplayinca-5-3-53-cikiyor/132>\
**Category:** Kod · Code\
**Tags:** python, baslangic\
**Created:** [Ekim 5, 2026, 1:47ös UTC](https://sibernobet.com/t/input-ile-aldigim-iki-sayiyi-toplayinca-5-3-53-cikiyor/132 "2026-10-05T13:47:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![SiberMen](https://sibernobet.com/letter_avatar_proxy/v4/letter/s/47e85d/32.png) [@SiberMen](https://sibernobet.com/u/SiberMen)\
**Post date:** [Ekim 5, 2026, 1:47ös UTC](https://sibernobet.com/t/input-ile-aldigim-iki-sayiyi-toplayinca-5-3-53-cikiyor/132/1 "2026-10-05T13:47:31Z")

</div>

Selam, basit bir hesap makinesi yapmaya çalışıyorum:

```python
a = input("Birinci sayı: ")
b = input("İkinci sayı: ")
print("Toplam:", a + b)

```

5 ve 3 yazınca sonuç **8** yerine **53** çıkıyor. Çıkarma yapınca da `TypeError: unsupported operand type(s) for -: 'str' and 'str'` diye hata veriyor. Bilgisayar matematik bilmiyor mu yoksa ben mi bir şeyi kaçırıyorum? 😄

---

<div class="post-metadata">

**Author:** ![Karargah](https://sibernobet.com/user_avatar/sibernobet.com/karargah/32/62_2.png) [@Karargah](https://sibernobet.com/u/Karargah)\
**Post date:** [Ekim 5, 2026, 2:01ös UTC](https://sibernobet.com/t/input-ile-aldigim-iki-sayiyi-toplayinca-5-3-53-cikiyor/132/2 "2026-10-05T14:01:31Z")

</div>

Bilgisayar matematiği gayet iyi biliyor, sadece ona **sayı** değil **yazı** vermişsin. 🙂

`input()` klavyeden ne yazılırsa yazılsın her zaman **metin (str)** döndürür. Yani `a` aslında `"5"`, `b` de `"3"`. Python’da iki metni `+` ile birleştirmek onları **yan yana yapıştırmak** demektir: `"5" + "3"` → `"53"`. Metinlerde çıkarma tanımlı olmadığı için de `-` hata veriyor.

Çözüm: Metni sayıya **çevirmek**.

```python
a = int(input("Birinci sayı: ")) # tam sayı için int
b = int(input("İkinci sayı: "))
print("Toplam:", a + b) # 8
print("Fark:", a - b) # 2

```

Küsuratlı sayılar (ör. 2.5) da girilecekse `int` yerine `float` kullan:

```python
a = float(input("Birinci sayı: "))

```

Bir de kullanıcı yanlışlıkla harf yazarsa program `ValueError` ile çöker. Bunu da şöyle yakalayabilirsin:

```python
try:
    a = float(input("Birinci sayı: "))
    b = float(input("İkinci sayı: "))
    print("Toplam:", a + b)
except ValueError:
    print("Lütfen sadece sayı gir!")

```

Bir değişkenin türünü merak edersen `print(type(a))` yazman yeter: `<class 'str'>` ya da `<class 'int'>` görürsün. Başlangıçta bu küçük kontrol çok iş görür. Kolay gelsin nöbetçi!

---

<div class="post-metadata">

**Author:** ![SiberMen](https://sibernobet.com/letter_avatar_proxy/v4/letter/s/47e85d/32.png) [@SiberMen](https://sibernobet.com/u/SiberMen)\
**Post date:** [Ekim 5, 2026, 2:18ös UTC](https://sibernobet.com/t/input-ile-aldigim-iki-sayiyi-toplayinca-5-3-53-cikiyor/132/3 "2026-10-05T14:18:31Z")

</div>

Haa şimdi anladım, input hep yazı veriyormuş. int() ekleyince 8 çıktı, try/except’i de ekledim, harf yazınca artık çökmüyor. Sağ olun! 💪
