将华氏温度转换为摄氏温度

  • 本文关键字:温度 转换 python
  • 更新时间 :
  • 英文 :


我一直在尝试转换摄氏度和华氏温度,目前有华氏温度到摄氏度的问题,公式的代码不适合华氏温度到摄氏度,我不知道为什么

:

Fahrenheit = 69
Celsius = (5/9*Fahrenheit - 32)
print(Celsius)

但是,无论何时我把摄氏度转换成华氏度,它都能工作。

Celsius = 1
Fahrenheit = (9/5*Celsius + 32)
print(Fahrenheit)

您的问题来自于不理解操作符优先级。除法和乘法排在减法之前,所以在这段代码中:

Celsius = (5/9*Fahrenheit - 32)

先做5/9 * Fahrenheit,然后减去32。你需要在乘之前减去,所以把它改成这样应该会得到正确的结果:

Celsius = 5/9 * (Fahrenheit - 32)

请注意,反过来你不会遇到这个问题,因为乘法确实应该发生在加法之前。您仍然可以添加圆括号(即使不需要)以使读者更清楚:

Fahrenheit = (9/5 * Celsius) + 32

int(n)似乎不应该在那里。

另一个问题是,您应该注意操作的顺序,因为乘法将在减法之前执行。所以要先做减法,你应该使用括号。

这应该会给你你正在寻找的结果:

Celsius = (Fahrenheit - 32) * 5 / 9
Fahrenheit = 77
Celsius = (Fahrenheit - 32) * 5.0/9.0
print(Celsius)

你问题中的公式是不正确的。

可以使用def函数来计算华氏度和摄氏度,例如:

def Fahrenheit_toCelsius(Fahrenheit):
Celsius = (Fahrenheit - 32) * 5/9
return Celsius

def Celsius_toFahrenheit(Celsius):
Fahrenheit = (Celsius * 9/5) + 32
return Fahrenheit

然后,你可以调用函数,就像:

if __name__ == '__main__':
print(Fahrenheit_toCelsius(10))
print(Celsius_toFahrenheit(10))

你的代码应该看起来像这样[ANSWER]:

celsius = float(input("Enter temperature in celsius: "))
fahrenheit = (celsius * 9/5) + 32
print(str(celsius) + " Celsius is: " + str(fahrenheit) + " Fahrenheit")

这个特定的程序有很多不同的编码方式,所以你可以根据自己的喜好来编写。

最新更新