私はCodeAcademyの初心者のPythonコースに取り組んでいます。これは食料品店で "チェックアウト"している演習の一部ですが、 "total"を返すのではなく、最終的な請求書/ "合計"を印刷するコードにしたかったのです。なぜそれが印刷されていないのか分かりません。私は最後に、反復の後に、そしてここでは再帰の中で(合計を返す前に)、各ステップの後に印刷するかどうかを確認しようとしました。このコードを実行すると、何も表示されません。なぜ関数内から結果を印刷できないのですか?
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
print total
return total
編集: これらも私に読み出し与えていない:まだ
def compute_bill(food):
total = 0
for item in food:
if stock[item]>0:
total += prices[item]
stock[item] -=1
print "Total is $",total #tried 0-5 indentations, same blank result
を
def compute_bill(food):
total = 0
for item in food:
if stock[item]>0:
total += prices[item]
stock[item] -=1
print "Total is $",total #tried 0-5 indentations, same blank result
return total
print compute_bill(food)
戻り
Total is $ 5.5
5.5
ながら - 私は解決策を見つけました...
def compute_bill(food):
total = 0
for item in food:
if stock[item]>0:
total += prices[item]
stock[item] -=1
return total
print "Total is $",compute_bill(food)
戻り 合計は$ 5.5 です...しかし、私はちょうど更新されている必要がある変数の合計を、印刷できない理由として困惑しています。そしてなぜそれがそこで働くのですが、機能の餌としてではありません。これはエクササイズの単なる質問ですが、なぜこれをやっているのか分かりません。あなたの最初の例で
ありがとうございました!このチュートリアルでは、ほとんどの場合、呼び出さずに関数を作成するように見えるので、これは明確ではありませんでした。 – toonarmycaptain