0
def hotel_cost(nights):
    return nights * 140

bill = hotel_cost(5)

def add_monthly_interest(balance):
    balance * (1 + (0.15 / 12))

def make_payment(payment, balance): 
    new_balance = add_monthly_interest(balance)
    print "You still owe: " + str(new_balance)

make_payment(100,hotel_cost(5))

これは「あなたはまだ借りている:なし」と印刷していますが、非常に基本的なものが欠けているように感じます。私は可能な限り新しいものです。Python は私の最初の言語であり、私の世代のほとんどの言語ほど技術的な読み書きができること以外に、実際のコンピューターに関する知識はありません。

4

3 に答える 3

5

add_monthly_interestは何も返さないので、Python はNone自動的に返します。式の結果を返す必要があります。

def add_monthly_interest(balance):
    return balance * (1 + (0.15 / 12))
于 2013-05-12T02:27:46.087 に答える
2

add_monthly_interestreturnステートメントが必要です。

于 2013-05-12T02:27:16.537 に答える
2

return ステートメントのない関数 (または、実際には、実行が終了する場所) は return を返しますNone。これは次の場合に発生します。

new_balance = add_monthly_interest(balance)

を取得Noneし、それを印刷します。その関数にa が必要ですreturn-他のいくつかの言語とは異なり、python は最後に評価された式の値を返しません。

于 2013-05-12T02:29:24.893 に答える