python练习的困难

python练习的困难,python,python-2.7,code-reuse,Python,Python 2.7,Code Reuse,因此,我正在做Python实用编程书中的练习,但我被困在第2章的第9个练习中,这与第7个练习有关: 7.:在美国,汽车的燃油效率是以每加仑英里数来衡量的。在公制中,通常以升/升为单位 100公里。编写一个名为“转换里程数”的函数 将每加仑英里数转换为每100公里升数 我写的程序是这样的: def convert_mileage(miles_per_gallon): liters_per_gallon = 3.785411784 kilometers_per_mile = 1.60

因此,我正在做Python实用编程书中的练习,但我被困在第2章的第9个练习中,这与第7个练习有关:

7.:在美国,汽车的燃油效率是以每加仑英里数来衡量的。在公制中,通常以升/升为单位 100公里。编写一个名为“转换里程数”的函数 将每加仑英里数转换为每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)
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)
现在,第九个练习如下:

9.定义一个名为
lills\u needed
的函数,该函数取一个以公里为单位的距离值和一个以气体为单位的值 车辆的里程数,并返回所需的汽油量(升) 走那么远。您的定义应该调用函数
convert_里程
,您定义为上一练习的一部分


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

此练习要求您重新使用
转换里程
功能。因此,您不必只打印计算值,而必须返回它。将函数更改为以下内容:

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)
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)

本练习要求您重新使用
convert\u miliety
函数,但要做到这一点,您首先必须对其进行修改,使其
返回值,而不是打印值。