2014-07-26 38 views
1

所以,我從Python的實用編程的書做練習,但我堅持9日行使第2章,這是關係到第七:困難蟒蛇行使

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 .:定義了一個名爲liters_needed是採取表示距離的值函數以公里計,並且代表車輛行駛里程的數值並返回行駛該距離的公升 所需的氣體量。您的定義應該將您定義爲以前練習的一部分的功能稱爲 convert_mileage

我不知道如何將第一個功能鏈接到第二個功能......並且我在理解整個里程的事情方面比起公升去旅行有困難。如果有人能幫助我,那會很棒!謝謝:)

+2

這個練習要求您重用您的'convert_mileage'函數,但要做到這一點,您首先必須對其進行修改,以便它返回值而不是打印它。 –

回答

1

這個練習要求你重用你的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)