-3

とはfood? ローカル変数ですか?グローバル変数リスト?なぜ使用できるのですか?リストですか?誰かがそのように機能する理由を説明できますかfor ... in?

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:
            stock[item] -= 1
            total += prices[item]
    else:
            pass
    return total
print compute_bill(food)
4

2 に答える 2

5

food関数に渡した引数ですcompute_bill。しかし、あなたがするとき:

print compute_bill(food)

というグローバル変数を見つけようとしますfood。これは存在しません。を探していると思いますshopping_list

compute_bill関数内にfoodは、ローカル変数があります。変数の外からアクセスすることはできません (グローバル化しない限り)。

に渡すshopping_listcompute_billfoodそのリストになります。次に、for ループを使用してリストを反復処理します。

于 2013-09-22T00:37:05.133 に答える