【问题描述】
在温度刻画的不同体系中,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度。华氏度以1标准大气压下水的结冰点为32度,沸点为212度。如何利用程序辅助进行摄氏度和华氏度之间的转换
【设计算法】
根据华氏和摄氏温度定义,其单位刻度对应温度关系为(212-32)/(100-0)=1.8,转换公式如下:
【输入形式】
输入温度加温度制式的代表字母
【输出形式】
转换后的温度加温度制式的代表字母
【样例输入输出1】
What is the temperature?82F
The converted temperature is 28C
【样例输入输出2】
What is the temperature?28C
The converted temperature is 82F
【参考代码1】
TempStr = input("What is the temperature?")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("The converted temperature is {:d}C".format(int(C)))
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * eval(TempStr[0:-1]) + 32
print("The converted temperature is {:d}F".format(int(F)))
else:
print("Error")
【参考代码2】
input_str = input("What is the temperature?")
if input_str[-1] in ['C', 'c']:
f = 1.8 * eval(input_str[0:-1]) + 32
print("The converted temperature is %dF" % f)
elif input_str[-1] in ['F', 'f']:
c = (eval(input_str[0:-1]) - 32) / 1.8
print("The converted temperature is %dC" % c)
else:
print("Input is wrong!")