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_interest需要一个返回语句。

于 2013-05-12T02:27:16.537 回答
2

没有 return 语句的函数(或者实际上,执行结束的地方)返回None。这就是发生在:

new_balance = add_monthly_interest(balance)

所以,你得到None,然后打印它。您需要return在该函数中使用 - 与其他一些语言不同,python 不会返回评估的最后一个表达式的值。

于 2013-05-12T02:29:24.893 回答