2014-10-30 1 views
0

주어진 값을 센티미터로 피트와 인치로 변환하는 프로그램을 작성 중입니다. 나는 두 가지 기능을 썼다. 한 함수는 센티미터 값을 피트로 변환하고 해당 값의 소수 부분을 십진수를 인치로 변환하는 다른 함수로 전달합니다. 이 코드는 다음과 같다 :파이톤에서 센티미터 - 피트 변환기

import math 

def feetConverter(number): 
    tempInchValue, feetValue = math.modf(int(number) * 0.03281) 
    inchConverter(tempInchValue) #calls the inch converter function 
    return feetValue 

def inchConverter(tempInchValue): 
    finalInchValue = tempInchValue * 12 
    return finalInchValue 

print("Enter the height in centimeters: ") 
centimeterValue = input() 
print(feetConverter(centimeterValue)) 

문제는 프로그램 인치 값을 부여하지 않은 것합니다 - inchConverter 함수가 호출되지 않으면있다. 나는 어떤 정정도 감사 할 것이다. 감사합니다

답변

1

당신이 inchConverter 별도로 & 인쇄 호출해야

def feetConverter(number): 
    tempInchValue, feetValue = math.modf(int(number) * 0.03281) 
    inchConverter(tempInchValue) #calls the inch converter function, and ignores the return value 
    return feetValue # returns feetValue only. 

하나 개의 값을 반환 할 수 있습니다, 당신은 feetConverter의 반환 값을 인쇄하고, inchConverter의 반환 값이 무시되는 함수 :

print(inchConverter(centimeterValue)) 

값의 tuple을 반환 할 수 있습니다.

def feetConverter(number): 
    tempInchValue, feetValue = math.modf(int(number) * 0.03281) 
    return (feetValue,inchConverter(tempInchValue)) 
+0

함수는 하나의 값만 반환 할 수 있지만 그 값은 '튜플'일 수 있습니다. – Matthias

+0

왜 투표가 끝났습니까? – yurib

+0

-1, OP가 inchConverter의 반환 값을 무시하는 것이 맞지만, 파이썬 함수에서는 여러 값을 반환 할 수 있습니다. OP는 피트를 반환 할 수 있습니다 feetValue, inchValue – mtrw

1

숙제입니까? 그렇지 않으면 왜 단위 변환 패키지를 사용하지 않습니까? 예를 들어 양은 기분이 좋다 :

>>> import quantities as pq 
>>> distance = 3*pq.meter 
>>> distance.units = 'feet' 
>>> distance 
array(9.842519685039369) * ft 
>>> distance.units = 'm' 
>>> distance 
array(2.9999999999999996) * m 
>>> distance.units = 'inches' 
>>> distance 
array(118.1102362204724) * in