1
我正在通過CodeAcademy的初學者Python課程。這是其中一項練習的一部分,您在雜貨店「檢查」,但我想要代碼打印最終賬單/「總計」而不是僅返回「總計」。我不明白爲什麼它不打印。我已經嘗試在迭代之後將它放在最後,並且在這裏,在遞歸中查看它是否會在每一步之後進行打印。當我運行這個代碼時,沒有任何顯示。結果不是正在打印,爲什麼在`return`後忽略'print`?
shopping_list = ["banana", "orange", "apple"]
stock = {
"banana": 6,
"apple": 0,
"orange": 32,
"pear": 15
}
prices = {
"banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3
}
food = shopping_list
def compute_bill(food):
total = 0
for item in food:
if stock[item]>0:
total += prices[item]
stock[item] -=1
return total
print total
compute_bill(food)
三江源 - 所以我現在明白了,一切都return total
後忽略 - 更好的問題可能是這是爲什麼? 有沒有這種情況下,你會包括print total
return total
以這種方式和不是祝願雙方都發生?
'return'結束一個函數*,然後*。 「打印總量」從未達到。 –
你在哪裏*調用compute_bill()'?爲什麼不打印返回值*那裏*? –
您需要在''return'語句之前移動'print'語句,然後調用函數'compute_bill()'。 –