目錄
一、"溫度轉換"問題分析
1.1 溫度轉換
溫度刻畫的兩種不同體系
- 攝氏度:中國等世界大多數國家使用
- 以1標准大氣壓下水的結冰點為0度,沸點為100度,將溫度進行等分刻畫
- 華氏度:美國、英國等國家使用
- 以1標准大氣壓下水的結冰點為32度,沸點為212度,將溫度進行等分刻畫
1.2 需求分析
兩種溫度體系的轉換
- 攝氏度轉換為華氏度
- 華氏度轉換為攝氏度
1.3 問題分析
該問題中計算部分的理解和確定
- 理解1:直接將溫度值進行轉換
- 理解2:將溫度信息發布的聲音或圖像形式進行理解和轉換
- 理解3:監控溫度信息發布渠道,實時獲取並轉換溫度值
1.3.1 分析問題
- 采用 理解1:直接將溫度值進行轉換
- 溫度數值需要標明溫度體系,即攝氏度或華氏度
- 轉換后也需要給出溫度體系
1.3.2 划分邊界
- 輸入:帶華氏或攝氏標志的溫度值
- 處理:根據溫度標志選擇適當的溫度轉換算法
- 輸出:帶攝氏或華氏標志的溫度值
1.3.3 輸入輸出格式設計
標識放在溫度最后,F表示華氏度,C表示攝氏度
82F表示華氏82度,28C表示攝氏28度
1.3.4 設計算法
根據華氏和攝氏溫度定義,利用轉換公式如下:
\[C = ( F – 32 ) / 1.8 \\ F = C * 1.8 + 32 \]
其中, C表示攝氏溫度, F表示華氏溫度
二、"溫度轉換"實例編寫
# TempConvert.py
TempStr = input("請輸入帶有符號的溫度值: ")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print(f"轉換后的溫度是{C:.2f}C")
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * eval(TempStr[0:-1]) + 32
print(f"轉換后的溫度是{F:.2f}F")
else:
print("輸入格式錯誤")
編寫上述代碼,並保存為TempConvert.py文件
# TempConvert.py
TempStr = input("請輸入帶有符號的溫度值: ")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print(f"轉換后的溫度是{C:.2f}C")
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * eval(TempStr[0:-1]) + 32
print(f"轉換后的溫度是{F:.2f}F")
else:
print("輸入格式錯誤")
請輸入帶有符號的溫度值: 12f
轉換后的溫度是-11.11C
# TempConvert.py
TempStr = input("請輸入帶有符號的溫度值: ")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print(f"轉換后的溫度是{C:.2f}C")
elif TempStr[-1] in ['C', 'c']:
F = 1.8 * eval(TempStr[0:-1]) + 32
print(f"轉換后的溫度是{F:.2f}F")
else:
print("輸入格式錯誤")
請輸入帶有符號的溫度值: 12c
轉換后的溫度是53.60F
三、"溫度轉換"舉一反三
3.1 Python語法元素理解
- 溫度轉換程序共10行代碼,但包含很多語法元素
- 清楚理解這10行代碼能夠快速入門Python語言
- 參考框架結構、逐行分析、逐詞理解
3.2 輸入輸出的改變
- 溫度數值與溫度標識之間關系的設計可以改變
- 標識改變放在溫度數值之前:C82, F28
- 標識字符改變為多個字符:82Ce、28Fa
3.3 計算問題的擴展
- 溫度轉換問題是各類轉換問題的代表性問題
- 貨幣轉換、長度轉換、重量轉換、面積轉換…
- 問題不同,但程序代碼相似