我正在学习一个免费的在线 Python 教程,它希望我能够:
创建一个温度转换器,将华氏值转换为摄氏度,反之亦然,使用以下两个公式将华氏温度 f 与摄氏温度 c 联系起来:
f = c * 9/5 + 32 c = (f -32)* 5/9
输入将是一个字符串,该字符串由一个浮点数组成,后跟一个字母
F
orC
,例如"13.2C"
。我需要转换为其他温标并以相同的格式打印转换后的值。例如,如果输入是“8F”,那么输出应该是(大约)"-13.333C"
,如果输入是,"12.5C"
那么输出应该是"54.5F"
。
我的回答总是有点偏差。例如,-16.444444444444446C
当正确的输出是-16.394444444444442C
. 我如何使用浮点数有问题吗?我的代码如下:
def celsiusCon(farenheit):
return (farenheit - 32)*(5/9)
def farenheitCon(celsius):
return ((celsius*(9/5)) + 32)
inputStr = input()
inputDig = float(inputStr[0:-2])
if inputStr[-1] == 'C':
celsius = inputDig
print(farenheitCon(celsius),'F',sep ='')
if inputStr[-1] == 'F':
farenheit = inputDig
print(celsiusCon(farenheit),'C', sep='')