【发布时间】:2015-07-31 18:06:12
【问题描述】:
我觉得这个问题会很愚蠢,因为我不完全确定如何表达它。我认为最好不要过度解释我的问题。
好的,所以 Code Academy 他们给了这个作业:
在现有代码下方,定义一个名为 trip_cost 的函数,该函数接受两个参数,city 和 days。
与上面的示例一样,让您的函数返回调用rental_car_cost(days)、hotel_cost(days) 和plane_ride_cost(city) 函数的sum。
为什么/以下是如何工作的(我明白了,但我不明白。):
调用
hotel_cost(nights)函数是完全有效的 变量days。就像上面我们调用的例子一样double(n)带有变量 a,我们将days的值传递给 参数nights中的新函数。
我做对了代码并通过了:
def hotel_cost(nights):
return 140 * nights
def plane_ride_cost(city):
if city == "Charlotte":
return 183
elif city == "Tampa":
return 220
elif city == "Pittsburgh":
return 222
elif city == "Los Angeles":
return 475
def rental_car_cost(days):
cost = 40 * days
if days >= 7:
cost -= 50
elif days >= 3:
cost -= 20
return cost
def trip_cost(city, days):
return plane_ride_cost(city) + hotel_cost(days) + rental_car_cost(days)
一开始我放hotel_cost(nights),后来改成hotel_cost(days)就通过了。现在它让我很困惑。该函数如何以及为什么从def 中获取变量?我想我是在问它是如何工作的?
我试图理解如何表达这个问题。有人可以打破这个吗?哈哈我什至不知道给这个取什么名字,因为这个概念有点混乱。我的意思是我明白了,但我不明白(如果有道理的话。)这仅在定义函数时有效吗?
另外,为什么它被称为“调用函数”,而在这种情况下它实际上是替换一个函数?
【问题讨论】:
-
定义参数的重点是让你可以在你的函数中使用它们。您应该查看official tutorial on defining functions。
标签: python variables call function