python案例:温度转换

问题

将输入的摄氏或华氏温度转换为华氏或摄氏温度输出。

温度刻画的两种不同体系

  • 摄氏度 中国等世界大多数国家使用 ​ 以1标准大气压下的结冰点为0°,沸点为100°,将温度进行等分刻画。
  • 华氏度 美国、英国等国家使用 ​ 以1标准大气压下的结冰点为32°,沸点为212°,将温度进行等分刻画。

需求分析:

-摄氏度转换为华氏度

-华氏度转换为摄氏度

问题分析:

温度数值需要标明温度体系,即摄氏度或者华氏度

转换后也需要给出温度体系

划分边界(IPO):

输入 带有华氏或摄氏标志的温度值

处理 根据温度标志选择适当的温度转换算法

输出 摄氏或华氏标志的温度值

输入输出格式设置

标识放在温度最后,F表示华氏度,C表示摄氏度

82F表示华氏82度,28C表示摄氏28度

设计算法

根据华氏和摄氏温度定义,利用转换公式如下:

$C=(F-32) \div 1.8$

$F = C \times 1.8 + 32$

参考代码

1
2
3
4
5
6
7
8
9
tempstr = input("请输入带有符号的温度值:")
if tempstr[-1] in ['f', 'F']:
c = (eval(tempstr[:-1])-32)/1.8
print("转换后的温度是:{:.2f}C".format(c))
elif tempstr[-1] in ['C', 'c']:
F = (eval(tempstr[:-1])*1.8+32)
print("转换后的温度是:{:.2f}F".format(F))
else:
print("输入格式错误")