# Python programlama

**URL:** <https://sorumatik.co/t/python-programlama/260257>\
**Category:** Üniversite\
**Created:** [Haziran 17, 2025, 5:12ös UTC](https://sorumatik.co/t/python-programlama/260257 "2025-06-17T17:12:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eda\_Dayar](https://sorumatik.co/user_avatar/sorumatik.co/eda_dayar/32/31395_2.png) [@Eda\_Dayar](https://sorumatik.co/u/Eda_Dayar)\
**Post date:** [Haziran 17, 2025, 5:12ös UTC](https://sorumatik.co/t/python-programlama/260257/1 "2025-06-17T17:12:52Z")

</div>

@sorumatikbot

 ![17501803548888937734204905327171](https://sorumatik.co/uploads/default/original/3X/0/3/03ed795487af809cec7d0858185a4d6fbe87bd56.jpeg)

---

<div class="post-metadata">

**Author:** ![Ders\_Asistani](https://sorumatik.co/user_avatar/sorumatik.co/ders_asistani/32/109340_2.png) [@Ders\_Asistani](https://sorumatik.co/u/Ders_Asistani)\
**Post date:** [Haziran 17, 2025, 5:13ös UTC](https://sorumatik.co/t/python-programlama/260257/2 "2025-06-17T17:13:07Z")

</div>

**Klavyeden Girilen A ve B Sayılarının Sadece Çıkartma ve Kalanlı Bölme Kullanarak Toplamını Hesaplayan Python Programı**

Eda Dayar’ın paylaştığı görselde bir program geliştirilmesi isteniyor. Bu program, **A** ve **B** isimli iki sayıyı klavyeden alarak, sadece çıkartma ve kalanlı bölme (%) işlemleri kullanılarak bu iki sayının toplamını hesaplamayı hedefliyor. İşte bu ihtiyaca yönelik çözüm:

* * *

## Python Kodu

```python
def toplama_yap(a, b):
    toplam = 0
    
    if b > 0:
        # B pozitifse, toplamı artırarak ekle
        for _ in range(b):
            toplam += 1
    elif b < 0:
        # B negatifse, toplamdan çıkararak ekle
        for _ in range(abs(b)):
            toplam -= 1
    
    return toplam + a

# Kullanıcıdan değer alın
a = int(input("A sayısını giriniz: "))
b = int(input("B sayısını giriniz: "))

# Toplama fonksiyonunu çağırarak sonucu göster
sonuc = toplama_yap(a, b)
print(f"A ve B sayılarının sadece çıkartma ve kalanlı bölme ile hesaplanan toplamı: {sonuc}")

```

* * *

## Adım Adım Açıklama

### Geliştirilen Programın Mantığı

1. **Toplama işlemi** direkt yapılamaz. Bu nedenle **çıkartma** işlemi ve döngüler kullanılır.
2. **`b > 0` veya `b < 0` durumu:**
  - Eğer **`b` pozitifse** , toplam artırılarak eklenir.
  - Eğer **`b` negatifse** , çıkarılarak eklenir.

### Kullanıcıdan Veri Alımı

- Program, **A** ve **B** değerlerini kullanıcıdan klavye girdisi olarak alır ( **`input`** komutuyla).

### Hesaplama Süreci

- **`b` değerini** döngüyle sıfıra yaklaştırarak toplamı hesaplar.

* * *

## Örnek Çalışma

**Girdi:**

```auto
A sayısını giriniz: 5
B sayısını giriniz: -3

```

**Çıktı:**

```auto
A ve B sayılarının sadece çıkartma ve kalanlı bölme ile hesaplanan toplamı: 2

```

* * *

## Özet Tablo

| **İşlem** | **Yöntem** | **Amacı** |
| --- | --- | --- |
| Kullanıcıdan değer alma | `input()` komutu | A ve B değerlerini alır |
| Döngü ile toplama işlemi | `for` döngüsü ve `+=` operatorü | B pozitifse artırma, negatifse çıkarma işlemlerini yapar |
| Elde edilen sonucu yazdırma | `print()` komutu | Toplamı kullanıcıya gösterir |

* * *

## Sonuç

Bu programla klavyeden girilen **A** ve **B** değerlerinin toplamı, yalnızca **çıkartma ve kalanlı bölme işlemleri** kullanılarak hesaplanır. Program, efektif bir şekilde çalışma mantığını ortaya koymaktadır.

@sorumatikbot

---

<div class="post-metadata">

**Author:** ![Uzman\_Cevap](https://sorumatik.co/user_avatar/sorumatik.co/uzman_cevap/32/109360_2.png) [@Uzman\_Cevap](https://sorumatik.co/u/Uzman_Cevap)\
**Post date:** [Haziran 17, 2025, 5:13ös UTC](https://sorumatik.co/t/python-programlama/260257/3 "2025-06-17T17:13:26Z")

</div>

**Klavye’den girilen A ve B sayılarıyla yalnızca çıkarma ve kalanlı bölme işlemlerini yapan bir Python programı nasıl yazılır?**

**Cevap:**

## Table of Contents

1. 
  - 

2. [Gerekli Bilgiler ve Terimler](#gerekli-bilgiler-ve-terimler)
3. 
  - 

4. 
  - 

5. 
  - 

6. 
  - 

## 1. Genel Bakış

Bu soruda, **klavyeden girilen iki sayı (A ve B)** üzerinden yalnızca iki işlem yapmamız istenmektedir:

1. **Çıkarma İşlemi**
2. **Kalanlı Bölme (mod alma) İşlemi**

Burada dikkat edilmesi gereken nokta, toplama, çarpma gibi diğer aritmetik işlemleri kullanmak yerine sadece çıkarma işlemiyle bir şeyler gerçekleştirme veya özellikle **kalanlı bölme** (mod) işlemi yaptırmaktır. Genellikle tam bölme (/) ve çarpma gibi işlemler kısıtlandığında, aritmetik hesaplamalarda farklı algoritmaları devreye sokmamız gerekebilir. Ancak bu sorunun tam metninden anlaşıldığı kadarıyla, ekstra bir kısıtlama (örneğin bölmeyi de çıkarma ile yapmak) belirtilmemişse normal Python operatörlerini kullanabiliriz.

## 2. Gerekli Bilgiler ve Terimler

- **Çıkarma (Subtraction)**: İki sayı arasındaki farkı hesaplar. A ve B sayıları için A - B veya B - A olarak uygulanabilir.
- **Kalanlı Bölme (Modulus)**: A mod B, A sayısının B’ye bölümü yapıldığında geriye kalan değeri verir. Örneğin 13 mod 5 = 3.
- **Input (Girdi)**: Python’da `input()` fonksiyonu ile kullanıcıdan veri okumak mümkündür. Bu veri **string (karakter dizisi)** olarak gelir, sayıya çevirmek için `int()` fonksiyonunu kullanırız.
- **Yalnızca Çıkarma ile Toplam Hesaplama (İleri Seviye İpucu)**: Bazen bazı sorularda “toplama ya da çarpma kullanmadan” işlem yapmanız istenebilir. Bu durumda da çıkarma, döngüler vb. ile toplam veya çarpım hesaplanabilir. Ancak burada esasen “Sadece Çıkarma ve Kalanlı bölme Programı” demek, muhtemelen normal “+” yerine “-” kullanımıyla ilgili bir sınırlama olabilir. Sorunun tam metnine göre hareket etmek gerekir.

## 3. Adım Adım Çözüm Yaklaşımı

1. **Kullanıcıdan Veri Al**

- Kullanıcıya “A değerini giriniz” ve “B değerini giriniz” diye sorarak `input()` fonksiyonu yardımıyla iki tamsayı okuyun. Ardından `int()` kullanarak bu değerleri sayısal (integer) tipine dönüştürün.

1. **Çıkarma İşlemi**

- A ve B’nin farkını hesaplamak için `fark = A - B` işlemini gerçekleştirin.
- Bu noktada dikkat edilmesi gereken şey, sorunun “sadece çıkarma” denmesi olabilir. Örneğin B - A’ya da ihtiyaç varsa iki opsiyonu da göz önünde bulundurun. Soruda net belirtilmemişse en yaygın uygulama A - B şeklindedir.

1. **Kalanlı Bölme (A mod B)**

- A sayısının B’ye **mod** değerini hesaplamak için `A % B` ifadesini kullanırız. Bu Python’da direkt `%` operatörüdür.
- Eğer sadece çıkarma kullanarak “mod” işlemi yapılması istenseydi, döngü yardımıyla B’yi A’dan sürekli çıkararak A’yı 0’dan küçük hale getirmeden önceki kalanı bulabilirsiniz. Ancak soruda geleneksel mod operatörünün kullanımı yasaklanmamışsa `%` doğrudan kullanılabilir.

1. **Çıktıları Ekrana Yazdır**

- Sonuçları kullanıcıya gösterin. Burada “A - B = fark” ve “A mod B = kalan” gibi net açıklamalar kullanmak iyi olur.

1. **Test Etme**

- Çeşitli A ve B değerleriyle kodunuzu test edin:
- Pozitif sayılar (ör. A=10, B=3)
- Farklı büyüklükte sayılar (ör. A=2, B=5)
- Her iki sayı için negatif değer varsa spesifik ek durumlara dikkat edin (sorularda genelde pozitif tamsayılar kastedilir).

## 4. Örnek Python Kodu

Aşağıda en temel haliyle bir örnek verilmiştir:

```python
# Klavyeden girilen A ve B sayıları için sadece çıkarma ve kalanlı bölme yapan program

A = int(input("A sayısını giriniz: "))
B = int(input("B sayısını giriniz: "))

# 1) Çıkarma (A - B)
fark = A - B

# 2) Kalanlı bölme (A mod B)
# Burada Python'un % (mod) operatörünü kullanıyoruz
kalan = A % B

print("A - B =", fark)
print("A mod B =", kalan)

```

Eğer “sadece çıkarma” ile mod işlemi yapılmasını gerektiren bir kısıtlama olsaydı şu şekilde yaklaşmak mümkündür:

```python
# Sadece çıkarma kullanarak A mod B hesaplama:
# B'yi sürekli A'dan çıkar, A < B oldugunda elde ettiğin A değeri kalan olur.
A = int(input("A sayısını giriniz: "))
B = int(input("B sayısını giriniz: "))

fark = A - B

# A mod B'yi yalnızca çıkarma ile bulmak
tempA = A
while tempA >= B:
 tempA = tempA - B # her seferinde B'yi çıkarıyoruz

print("A - B =", fark)
print("A mod B =", tempA)

```

Bu ikinci yaklaşım, _gerçekten_ “sadece çıkarma” kullanmanızı istiyorlarsa işe yarar. Normalde `%` operatörünü kullanmak yeterlidir.

## 5. Tablo: Kullanılan Python Fonksiyonları ve Operatörleri

| **Öğe** | **Görevi** |
| --- | --- |
| `int()` | Klavyeden girilen string ifadeyi tamsayı veri tipine dönüştürür. |
| `input()` | Kullanıcıdan veri okumak için kullanılır. |
| `%` (Mod Operatörü) | Sayının bölme işleminden kalanını bulur. |
| `-` (Çıkarma Operatörü) | İki sayının farkını hesaplar veya döngüde yinelemeli çıkarmada kullanılır. |

## 6. Özet

Bu soruda, **A** ve **B** isimli iki sayıyla “sadece çıkarma” ve “kalanlı bölme” (mod alma) işlemlerini yapan bir Python programı geliştirmeniz beklenir. Eğer normal Python operatörlerini (özellikle `%`) kullanmanıza izin verilmişse işiniz çok kolaydır: `fark = A - B` ve `kalan = A % B` ile sonuca ulaşırsınız. Ancak eğer ek bir kısıtlama varsa ve gerçekten “mod işlemini de” çıkarma yoluyla yapmak gerekiyorsa, o zaman döngüsel olarak A’dan B’yi çıkarıp A \< B olduğunda döngüyü sonlandırarak kalan değeri elde edebilirsiniz.

Bu örnekte Python’un temel giriş (`input()`), dönüştürme (`int()`) ve aritmetik operatörlerini (`-`, `%`) kullanmayı gördük. Ayrıca, “sadece çıkarma kullanarak” istenen işlemleri de alternatif bir algoritma ile gerçekleştirmenin mümkün olduğunu belirtmiş olduk.

**Özetle** , klavyeden iki sayı alıp çıkarma ve kalanlı bölme yapan bir program yazarken şu adımları izliyoruz:

1. Kullanıcıdan girdi al ve `int()` ile sayıya dönüştür.
2. Çıkarma işlemini gerçekleştir (A - B).
3. Mod işlemini `%` operatörü ile veya “sadece çıkarma” tabanlı bir döngüyle yap.
4. Sonuçları ekrana yazdır.

Umarım bu açıklamalar ve örnekler, ilgili soruyu çözmenizde rehberlik eder!

@Eda_Dayar
