Basit Inventory Sistemi Python'da Sıfırdan Kodlamak

Bir inventory sistemi, ürünlerin stok durumunu takip etmek için temel bir araçtır. Bunu Python'da basit bir sözlük ve fonksiyonlar kullanarak hızlı bir şekilde yapabilirsin.

Sistem üç ana işi yapacak: ürün ekle, stok güncelle ve tüm ürünleri listele. Bir ürün adı, fiyatı ve stok miktarı içerecek. Hata kontrolü de ekleyeceğiz.

1inventory = {}
2
3def urun_ekle(ad, fiyat, stok):
4if ad in inventory:
5print(f"Hata: {ad} zaten var.")
6return
7inventory[ad] = {"fiyat": fiyat, "stok": stok}
8print(f"{ad} eklendi.")
9
10def stok_guncelle(ad, miktar):
11if ad not in inventory:
12print(f"Hata: {ad} bulunamadı.")
13return
14inventory[ad]["stok"] += miktar
15print(f"{ad} stok güncellendi: {inventory[ad]['stok']}")
16
17def urun_sil(ad):
18if ad in inventory:
19del inventory[ad]
20print(f"{ad} silindi.")
21else:
22print(f"Hata: {ad} bulunamadı.")
23
24def listele():
25if not inventory:
26print("Inventory boş.")
27return
28for ad, bilgi in inventory.items():
29print(f"{ad}: Fiyat={bilgi['fiyat']} TL, Stok={bilgi['stok']}")
30
31# Kullanım
32urun_ekle("Laptop", 5000, 10)
33urun_ekle("Mouse", 150, 50)
34urun_ekle("Klavye", 300, 30)
35listele()
36stok_guncelle("Laptop", -2)
37listele()
38urun_sil("Mouse")
39listele()

Beklenen çıktı:

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1Laptop eklendi.
2Mouse eklendi.
3Klavye eklendi.
4Laptop: Fiyat=5000 TL, Stok=10
5Mouse: Fiyat=150 TL, Stok=50
6Klavye: Fiyat=300 TL, Stok=30
7Laptop stok güncellendi: 8
8Laptop: Fiyat=5000 TL, Stok=8
9Mouse: Fiyat=150 TL, Stok=50
10Klavye: Fiyat=300 TL, Stok=30
11Mouse silindi.
12Laptop: Fiyat=5000 TL, Stok=8
13Klavye: Fiyat=300 TL, Stok=30

Kodun mantığı basit: her ürün bir sözlükte saklanıyor ve fonksiyonlar bu sözlüğü değiştiriyor. Negatif stok güncellemesi satış simüle ediyor.

Sık yapılan hata: stok güncellemede ürün var mı kontrolü yapmadan direkt işlem yapmak. Yukarıdaki kod bunu kontrol ediyor ve hata mesajı veriyordu. Gerçek bir sistem için bunu veritabanıyla (SQLite, PostgreSQL) değiştirirsin, ama bu örnek mantığı göstermek için yeterli.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz
  • birgunolur

    stok güncellemede hata kontrolü yapmamak çok yaygın bir sorun ama burada iyi yapılmış

  • adlı kullanıcıya yanıt verdi
    kirmizibisiklet

    ama pratik kullanımda bunun yeterli olmadığı oluyor mesela aynı ürünü iki yere eklemişsen veya yazım farklıysa sistem bunu fark etmiyor büyüyünce sıkıntı çıkacak gibime geliyor

  • adlı kullanıcıya yanıt verdi
    birgunolur

    yazım farklılığı gerçek sorun ama bu kod için çok erken endişe

  • adlı kullanıcıya yanıt verdi
    kirmizibisiklet

    ya tamam da şu yazım meselesi başlarda küçük görünüyor projem büyüyünce bitti yahu sonra "Apple" ile "apple" ayrı ürün oluyor stok bölünüyor düzeltmeye çalışırken çıldırıyorsun