python练习的困难

时间:2014-07-26 09:00:03

标签: python python-2.7 code-reuse

所以,我正在使用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

我不知道如何将第一个功能链接到第二个功能......而且我很难理解整个里程数与旅行相比。如果有人能帮助我,那就太好了!谢谢:))

1 个答案:

答案 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)
相关问题