溫度轉換
溫度刻畫的兩種不同的體系
攝氏度:中國等世界大多數國家使用
以1標准大氣壓下的水的結冰點為0度,沸點為100度,將溫度進行等分刻畫
華氏度:美國,英國等國家使用
以1標准大氣壓下的水的結冰點為32度,沸點為212度,將溫度進行等分刻畫
需求分析
兩種溫度體系的轉換:
攝氏度轉換為華氏度
華氏度轉換為攝氏度
問題分析
該問題中的計算部分的確定和理解
理解1 直接將溫度值進行轉換(入門)
理解2 將溫度信息發布的聲音或圖像形式進行理解和轉換(需要程序處理聲音或圖像等)
理解3 監控溫度信息的發布渠道,實時獲取並轉換溫度值(需要處理網絡通信,爬蟲等)
分析問題
采用理解1 直接將溫度值進行轉換
溫度數值需要標明溫度體系,即攝氏度或華氏度
轉換后也需要給出溫度體系
划分邊界
輸入:帶華氏或攝氏度標志的溫度值
處理:根據溫度值的標志選擇適當的溫度轉換算法
輸出:帶華氏或攝氏度標志的溫度值
設計算法
根據華氏和攝氏度定義,利用轉換公式如下:
C = (F-32)/1.8
F = C * 1.8 + 32
其中,C表示攝氏溫度, F表示華氏溫度
def TempConvert(TempStr): 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 = 1.8 * eval(TempStr[:-1]) + 32 print("轉換后的溫度是{:.2f}F".format(F)) else: print("輸入格式錯誤") if __name__ == "__main__": TempStr = input("請輸入帶有符號的溫度值:") TempConvert(TempStr)
舉一反三
輸入輸出的改變
溫度數值與溫度標識之間的關系設計可以發生改變
標識改在溫度值之前:C28,F28
標識字符改變為多個字符:82Ce,28F
計算問題的擴展
溫度轉換問題是各類轉換問題的代表性問題
貨幣轉換,長度轉換,重量轉換,面積轉換等
問題不同,但程序的代碼是相似的