所以,我正在使用Python上的实用编程书进行练习,但我仍然坚持第2章的第9练习,这与第7章有关:
7:在美国,汽车的燃油效率以每加仑英里数计算。在公制系统中,通常以升为单位进行测量 100公里。编写一个名为
convert_mileage
的函数 从每加仑英里换算到每100公里升。
我写了这样的程序:
def convert_mileage(miles_per_gallon):
liters_per_gallon = 3.785411784
kilometers_per_mile = 1.609344
liters_per_100 = (100*liters_per_gallon)/(kilometers_per_mile*miles_per_gallon)
print miles_per_gallon,'miles per gallon are',liters_per_100,'liters per 100 kilometers.'
convert_mileage(40)
convert_mileage(20)
现在,第9次练习如下:
9。:定义一个名为
liters_needed
的函数,该函数采用表示以千米为单位的距离的值和表示气体的值 车辆行驶里程并返回升升所需的燃气量 去那个距离。你的定义应该调用函数 您定义为上一个练习的一部分的convert_mileage
。
我不知道如何将第一个功能链接到第二个功能......而且我很难理解整个里程数与旅行相比。如果有人能帮助我,那就太好了!谢谢:))
答案 0 :(得分:2)
此练习要求您重复使用您的convert_mileage
功能。因此,您必须return
而不是仅打印计算值。将您的功能更改为以下内容:
LITERS_PER_GALLON = 3.785411784
KILOMETERS_PER_MILES = 1.609344
def convert_mileage(miles_per_gallon):
"""convert miles-per-gallon to liters per 100 kilometers"""
return (100*LITERS_PER_GALLON)/(KILOMETERS_PER_MILES*miles_per_gallon)
现在你可以调用这个函数并在另一个计算中重用它的结果:
def liters_needed(distance_km, miles_per_gallon):
"""determine liters needed for distance with given miles per gallon"""
liters_per_100km = convert_mileage(miles_per_gallon)
return liters_per_100km * distance_km / 100
现在,您必须在调用函数时打印结果:
print "Liters needed for 200km with 15mpg:", liters_needed(200, 15)