Python ile Kişisel Harcama Takipçisi: Adım Adım Kod Rehberi

Python ile Kişisel Harcama Takipçisi: Adım Adım Kod Rehberi

Yazılım öğrenmeye başladığınızda, teorik bilgilerinizi kalıcı hale getirmenin en etkili yolu gerçek hayattaki sorunlara çözüm üreten projeler geliştirmektir. Bugün, hesap makinesi gibi basit araçlardan bir adım öteye geçerek; kendi finansal verilerinizi yönetebileceğiniz, Python ile yazılmış Kişisel Harcama Takipçisi projesini inceleyeceğiz.

Bu uygulama, basit bir konsol arayüzü ile başlar ancak arka planda dosya sistemleri (file I/O) kullanarak verilerinizi kalıcı bir biçimde saklar. Bu rehberimizde, uygulamanın mantığını, her bir kod satırının ne anlama geldiğini ve bu projeyi nasıl bir üst seviyeye taşıyabileceğinizi detaylıca ele alacağız.


def harcama_ekle():
    kategori = input("Harcama kategorisi (örn: Market, Kira): ")
    tutar = input("Harcama tutarı (TL): ")
    # Verileri dosyaya 'append' (ekleme) modunda kaydediyoruz
    with open("butce.txt", "a", encoding="utf-8") as dosya:
        dosya.write(f"{kategori}: {tutar} TL\n")
    print("Harcama başarıyla kaydedildi!\n")

def listele():
    print("\n--- Tüm Harcamalar ---")
    try:
        # Dosyayı okuma modunda açıyoruz
        with open("butce.txt", "r", encoding="utf-8") as dosya:
            print(dosya.read())
    except FileNotFoundError:
        print("Henüz hiç harcama kaydı yok.")

while True:
    print("1. Harcama Ekle\n2. Harcamaları Listele\n3. Çıkış")
    secim = input("Seçiminiz: ")

    if secim == '1':
        harcama_ekle()
    elif secim == '2':
        listele()
    elif secim == '3':
        print("Uygulama kapatılıyor...")
        break
    else:
        print("Geçersiz seçim, lütfen tekrar deneyin.")
    


Kodun Detaylı Satır Analizi

Kodun kalbi, dosya yönetimini ve kullanıcı etkileşimini sağlayan yapılardır. İşte detaylı inceleme:

  • def harcama_ekle():: Bu satır, projemizin en önemli fonksiyonlarından birini tanımlar. Modüler programlama prensibine uygun olarak, harcama ekleme mantığını tek bir çatı altında toplar.
  • with open("butce.txt", "a", ...): Python’da with ifadesi, dosya işlemleri bittikten sonra dosyanın otomatik olarak kapatılmasını sağlar; bu “best practice” (en iyi uygulama) olarak kabul edilir. “a” modu (append), mevcut dosyanın sonuna yeni veriler ekler, böylece eski kayıtlarınız silinmez.
  • encoding="utf-8": Eğer bu parametreyi eklemezseniz, Türkçe karakterlerde (ş, ı, ğ, ü, ç) sorun yaşayabilirsiniz. Uygulamanızın profesyonel görünmesi için karakter seti yönetimi kritiktir.
  • try - except FileNotFoundError: Yazılımda en çok karşılaşılan durum, dosyanın ilk seferde mevcut olmamasıdır. Bu blok, programın hata verip çökmesi yerine kullanıcıya “Henüz kayıt yok” mesajını nazikçe vermesini sağlar.
  • while True:: Uygulamamızı sürekli çalışır durumda tutan sonsuz döngüdür. Kullanıcı “3” değerini seçene kadar program bellekten silinmez ve işlemlere devam eder.
  • if-elif-else Yapısı: Kullanıcının klavyeden girdiği komutları kontrol eden karar mekanizmasıdır. Yazılımın etkileşimli olmasını sağlar ve geçersiz girişlerde programı korur.

Bu Proje Sizi Nasıl Geliştirir?

Bu proje, sadece bir “para sayacı” değildir; bir yazılım geliştiricinin bilmesi gereken kalıcı veri saklama, hata yönetimi ve modüler yapı gibi üç temel taşı içerisinde barındırır. Uygulamanızı geliştirirken; belirli bir harcama kategorisini silme, toplam harcama tutarını otomatik hesaplama gibi özellikler ekleyerek, bir sonraki aşama olan Veri Analitiği dünyasına güçlü bir adım atabilirsiniz.

Kodları kopyalayıp bilgisayarınızda çalıştırdıktan sonra, butce.txt dosyasının otomatik oluştuğunu gözlemleyin. Yazılım geliştirmek, deneme-yanılma ve geliştirme sürecinin bir bütünüdür. Kendi özelleştirmelerinizi yapmaktan çekinmeyin!

By mvers

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir