【问题描述】在温度刻画的不同体系中,摄氏度以1标准大气压下水的结冰点为0度,沸点为100度。华氏度以1标准大气压下水的结冰点为32度,沸点为212度。如何利用程序辅助进行摄氏度和华氏度之间的转换
设计算法:根据华氏和摄氏温度定义,其单位刻度对应温度关系为(212-32)/(100-0)=1.8,转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
【输入形式】输入温度加温度制式的代表字母
【输出形式】转换后的温度加温度制式的代表字母
【样例输入输出1】
What is the temperature?82F
The converted temperature is 28C
【样例输入输出2】
What is the temperature?28C
The converted temperature is 82F
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 %dC' % C)
else:
print("Input error")
# 切片和索引只能针对字符串,所以不是eval(inout('...'))
# 索引用冒号隔开,是[0:-1],而不是[0,-1]
# ('....{:d}').format(x),('.....%d'%x)都可以进行整数输出