为什么这会回归“你还欠:没有”

时间:2013-05-12 02:26:32

标签: python

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是我的第一语言,没有其他真正的计算机知识,除了像我这一代人那样具有技术知识。

3 个答案:

答案 0 :(得分:5)

add_monthly_interest不会返回任何内容,因此Python会自动返回None。您必须返回表达式的结果:

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

答案 1 :(得分:2)

add_monthly_interest需要返回声明。

答案 2 :(得分:2)

没有return语句的函数(或者实际上,执行从结尾落下的函数)返回None。这就是:

new_balance = add_monthly_interest(balance)

所以,你得到None,然后打印出来。你想在该函数中使用return - python不会返回最后一个表达式的值,这与其他语言不同。