Python ürün stok kontrolü ve toplam fiyat

Mehmet Kağan

Hectopat
Katılım
11 Ağustos 2018
Mesajlar
328
Çözümler
4
Yer
İstanbul
Herkese iyi akşamlar. Python öğrenmeye yeni başladım. Basit bir program olmasına rağmen saatlerdir çözemedim.
Amacımız stok içinde gözüken ürün sayısı 0 olana kadar o ürünü birer birer azaltmak. Bu sırada ürünün fiyat değerini her seferinde faturaya eklemek. Örneğin elimizde 3 tane Renault araç var. Bizim bundan elde edeceğimiz gelir 9 birim paradır. Bunu hesaplayan bir fonksiyon yazmak istedim ama başaramadım. Bu fonksiyonu her araç için yazıp en son çıkan sonuçların hepsini toplayabilirim. Eğer tek seferde bütün gelirleri hesaplayabilen bir fonksiyon olursa o da güzel olur.
Fatura:
Renault için; 3*3 = 9
Mercedes için; 0*4 = 0
Toyota için; 11*5, 5 = 60,5
Volvo için; 7*2 = 14.
Umarım derdimi anlatabilmişimdir 😂

Python:
itemlist = ["renault","mercedes","toyota","volvo"]

stock = { "renault": 3,
"mercedes": 0,
"toyota": 11,
"volvo": 7 }

prices = { "renault": 3,
"mercedes": 4,
"toyota": 5.5,
"volvo": 2 }
 
Son düzenleyen: Moderatör:
Eğer birer birer azaltmadan toptan hesaplamak istiyorsanız:

[CODE lang="python" title="Kod 1"]itemlist = ["renault","mercedes","toyota","volvo"]

stock = { "renault": 3,
"mercedes": 0,
"toyota": 11,
"volvo": 7 }

prices = { "renault": 3,
"mercedes": 4,
"toyota": 5.5,
"volvo": 2 }

def calcPrice():
total = 0
for item in itemlist:
total += stock[item] * prices[item]
return total


print(calcPrice())[/CODE]

Eğer illa ki birer birer azaltmanız gerekiyorsa:

[CODE lang="python" title="Kod 2"]itemlist = ["renault", "mercedes", "toyota", "volvo"]

stock = {"renault": 3, "mercedes": 0, "toyota": 11, "volvo": 7}

prices = {"renault": 3, "mercedes": 4, "toyota": 5.5, "volvo": 2}


def count_brand(item):
item_total = 0
while stock[item] > 0:
item_total += prices[item]
stock[item] -= 1
return item_total


def calc_price():
total = 0
for item in itemlist:
total += count_brand(item)
return total

print(calc_price())[/CODE]
 

Geri
Yukarı