2014-07-26 1 views
1

을 행사,하지만 난 7 관련이 제 2 장 제 9 회 운동에 붙어 오전 :어려움 내가 파이썬에서 실제 프로그래밍 책에서 운동을하고 있어요, 그래서

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을 호출해야합니다.

첫 번째 기능을 두 번째 기능에 연결하는 방법에 대한 실마리가 없습니다. 여행하는 리터와 비교하여 전체 주행 거리를 이해하는 데 어려움이 있습니다. 누군가 나를 도울 수 있다면, 좋을 것입니다! 고마워요 :)

+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) 
관련 문제