Jak działa poniższy fragment kodu w Pythonie?

0

Hej.
Poniższy kod jest poprawny, ale nie wiem jak działa. Polecenia do tego zadania były:

Make the following changes to your compute_bill function:
*While you loop through each item of food, only add the price of the item to total if the item's stock count is greater than zero.
*If the item is in stock and after you add the price to the total, subtract one from the item's stock count.

Byłby mi ktoś w stanie wyjaśnić ostatni fragment kodu? Ten od def compute_bill(food). Nie rozumiem jak on działa.

shopping_list = ["banana", "orange", "apple"]
stock = {
    "banana": 6,
    "apple": 0,
    "orange": 32,
    "pear": 15
}
    
prices = {
    "banana": 4,
    "apple": 2,
    "orange": 1.5,
    "pear": 3
}

def compute_bill(food):
    total = 0
    for item in food:  
        if stock[item] > 0: 
            total += prices[item] 
            stock[item] -= 1
    return total
1

Pętla po przekazanej tablicy food - jak się można domyślić jakaś lista zakupów. Lecisz sobie po tych elementach (item) i sprawdzasz czy zawartość w stock jest > 0, jeśli tak to do rachunku total dodajesz sobie cenę z listy prices i odejmujesz 1 ze stock, jeśli nie to nic nie robisz. Na końcu zwracasz total.
Przykładowo dla shopping_list:
sprawdzasz czy w stock dla banana jest wartość > 0 - tak jest więc do total dodajesz prices = 4 i od 6 ze stock odejmujesz 1,
sprawdzasz czy w stock dla orange jest wartość > 0 - tak jest więc do total dodajesz prices = 1.5 i od 32 ze stock odejmujesz 1,
sprawdzasz czy w stock dla apple jest wartość > 0 - nie jest więc nic nie robisz.
Na końcu zwracasz total które wynosi 5.50.

1 użytkowników online, w tym zalogowanych: 0, gości: 1