华氏度与温湿度的转换公式 :C=(F-32)/1.8,F=C*1.8+32。
实现华氏温度和摄氏度的转换,首先用过input()函数获取到用户输入带有单位的字符串,并将其保存在TempStr变量中。
def celsius_to_fahrenheit(celsius):
fahrenheit = (celsius * 9/5) + 32
return fahrenheit
def fahrenheit_to_celsius(fahrenheit):
celsius = (fahrenheit - 32) * 5/9
return celsius
temperature = input("请输入温度值:")
unit = input("请输入温度单位(C或F):")
if unit == "C":
fahrenheit = celsius_to_fahrenheit(float(temperature))
print(f"{temperature}摄氏度等于{fahrenheit}华氏度")
elif unit == "F":
celsius = fahrenheit_to_celsius(float(temperature))
print(f"{temperature}华氏度等于{celsius}摄氏度")
else:
print("无效的温度单位")
然后通过判断字符串最后一个字符来判断输入的是华氏度还是摄氏度。如果判断为华氏度为单位则执行华氏度转换为温湿度的公式,并将结果保存在变量C中。如果为温湿度则执行温湿度转变为华氏度的公式,并将结果保存在变量F中。(注:在使用公式时要将字符串变量TempStr转换为浮点型变量)最后,使用print()函数输出转换后的温度值,并按照格式化字符串的要求进行显示。当输出的数据不是温湿度或者华氏度时会显示“呆!!! 你输错了,还不快从新输入”的信息。