Python 中的厘米转英尺转换器
我正在写一个程序,用来把给定的厘米值转换成英尺和英寸。我写了两个函数;一个函数把厘米值转换成英尺,然后把这个值的小数部分传给另一个函数,这个函数负责把小数部分转换成英寸。下面是代码:
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函数没有被调用一样。我希望能得到一些修正建议。谢谢!
2 个回答
2
这是作业吗?要不然你为什么不使用一个单位转换的工具呢?比如说,quantities这个库用起来就很不错:
>>> 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
1
一个函数只能返回一个值,你现在是在打印feetConverter
的返回值,而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.
你应该单独调用并打印inchConverter
:
print(inchConverter(centimeterValue))
另外,你也可以返回一个tuple
(元组)来包含多个值:
def feetConverter(number):
tempInchValue, feetValue = math.modf(int(number) * 0.03281)
return (feetValue,inchConverter(tempInchValue))