实例:温度转换
(1)分析问题:利用程序进行温度转换,由用户输入温度值,程序给出输出结果;通过语音识别,图像识别等方法自动监听并获得温度信息发布渠道(如收音机、电视机)给出的温度播报源数据,再由程序装换后输给用户;随着互联网的高度普及和接入的便捷,程序也可以定期从温度信息发布网站获得温度值,再将温度信息转换成旅行者熟悉的方式。
(2)划分边界:明确问题的输入数据、输出数据和对数据处理的要求。由于程序可能接收华氏温度和摄氏温度,并相互转换,该功能的IPO描述如下。
输入:带华氏或摄氏标志的温度值
处理:根据温度标志选择适当的温度转换算法
输出:带摄氏或华氏标志的温度值
(3)设计算法:根据华氏和摄氏度的定义,两个温度体系都以1标准大气压下的水的结冰点和沸点为温度区边界,算法:
C=(F-32)/32
F=C*1.8+32
(4)程序:
(5)调试测试:
(6)升级维护:任何程序都有生命周期,需要不断维护和升级。
补发代码:
1 TempStr=input("请输入一个带有符号的温度值(82F):") 2 if TempStr[-1] in ['C','c']: 3 f=(eval(TempStr[:-1]))*1.8+32 4 print("{:.2f}F".format(f)) 5 elif TempStr[-1] in ['F','f']: 6 c=(eval(TempStr[:-1])-32)/1.8 7 print("{:.2f}C".format(c))