我一直在学习“编程入门”课程,并且掌握了大多数早期知识。但是,由于我们已经开始使用函数了,因此定义的函数让我有些不知所措,主要是我的信心得到了体现。当前,我们有一个问题,内容如下:
第1部分-红绿灯
Rosie's Road Co.想使用一个函数来计算每个项目要订购的停车灯数量。该函数必须名为calc_num_stoplights,并且必须按顺序使用以下参数:
您的函数必须返回一个整数,该整数表示要订购的项目的信号灯数量。该功能应为每个十字路口计数2个交通灯,然后为道路的每个车道添加一个交通灯。例如,一个4条车道的交叉路口将需要6个交通信号灯(2条用于交叉路口,每条4条车道各1条)。
到目前为止,我尝试过的最好的方法是
def stoplights_total(lanes):
stoplights = lanes
def crossing_lights_total(miles):
crossing_lights = miles * 2
def calc_num_stoplights(miles, lanes):
road_project_length_miles = (miles)
number_of_lanes = (lanes)
total_lights = (int(stoplights_total + crossing_lights_total)*road_project_length)
calc_num_stoplights(miles, lanes)
这是我的错误返回;
ccc_5ed52e8979_7381 @ runweb15:〜$ cd; VOC_SELECTED_FILE =“ rosies_road_co.py” / bin / bash -c ../resource/scripts/run.sh
追溯(最近一次通话):
中的第15行中的文件“ /home/ccc_v1_s_CJ0y_141397/asn34792_57/asn34793_1/asnlib.0/public/RUN.py” exec(源代码)
中的文件“”,第23行 NameError:未定义名称“ miles”
请逐步引导我,因为我不是在寻找答案,而是在寻找答案的更多方法。两项功能测试分别是:2车道5英里(应等于20)和4车道2.5英里(应等于12)。谢谢!
答案 0 :(得分:1)
通过调用一个函数,您要求该函数给您一些回报。因此,您需要在函数中添加return语句。您不必具有很多函数来解决此问题,因为所有数学都可以通过一个简单的函数来解决,请参见以下示例:
def calc_num_stoplights(miles, lanes):
crossing_lights_total = 2 * miles
stoplights_total = lanes
road_project_lenght = miles
numbOfStoplights = int((stoplights_total + crossing_lights_total) * road_project_lenght)
return numbOfStoplights
numbOfStoplights = calc_num_stoplights(5, 2)
print numbOfStoplights
通过在函数中返回“ numbOfStoplights”,可以将返回值保存在函数外部的新变量中,如您在return语句正下方所看到的。这样,函数退出的值将保存在“ numbOfStoplights”变量中。然后,您可以通过打印“ numbOfStoplights”来打印值
PS。我不确定数学是否正确,但希望您可以自己解决:)