我一直在学习编程入门类(class),并且掌握了大部分早期的内容。然而,由于我们已经转向函数,定义函数,我有点不知所措,主要是我的信心受到了打击。目前我们有一个问题如下;
第 1 部分 - 红绿灯
Rosie's Road Co. 希望有一个函数来计算每个项目需要订购多少个红绿灯。该函数必须调用 calc_num_stoplights 并且必须按顺序接受这些参数:
- 道路项目的长度(以英里为单位)。
- 车道数量。
您的函数必须返回一个整数,表示为项目订购的红绿灯数量。该函数应为每个十字路口计算 2 个红绿灯,然后为道路的每条车道添加 1 个红绿灯。例如,一个 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
Traceback (most recent call last):
File "/home/ccc_v1_s_CJ0y_141397/asn34792_57/asn34793_1/asnlib.0/public/RUN.py", line 15, in
exec(source)
File "", line 23, in
NameError: name 'miles' is not defined
请引导我完成这个过程,因为我不是在寻找答案,而是在寻找如何获得答案。两项功能测试分别为 5 英里 2 车道(应等于 20)和 2.5 英里 4 车道(应等于 12)。谢谢!
最佳答案
通过调用一个函数,您要求该函数给您一些返回。因此,您需要将 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。我不确定数学是否正确,但希望你能自己弄清楚:)关于python - 新学生碰壁了(作业)calc_num_stoplights?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53037194/