Python 中的厘米转英尺转换器

0 投票
2 回答
3799 浏览
提问于 2025-04-30 15:46

我正在写一个程序,用来把给定的厘米值转换成英尺和英寸。我写了两个函数;一个函数把厘米值转换成英尺,然后把这个值的小数部分传给另一个函数,这个函数负责把小数部分转换成英寸。下面是代码:

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

撰写回答