006 實例1-溫度轉換

1、"溫度轉換"問題分析

1.1 溫度轉換

溫度刻畫的兩種不一樣體系算法

  • 攝氏度:中國等世界大多數國家使用
    • 以1標準大氣壓下水的結冰點爲0度,沸點爲100度,將溫度進行等分刻畫
  • 華氏度:美國、英國等國家使用
    • 以1標準大氣壓下水的結冰點爲32度,沸點爲212度,將溫度進行等分刻畫

1.2 需求分析

兩種溫度體系的轉換框架

  • 攝氏度轉換爲華氏度
  • 華氏度轉換爲攝氏度

1.3 問題分析

該問題中計算部分的理解和肯定spa

  • 理解1:直接將溫度值進行轉換
  • 理解2:將溫度信息發佈的聲音或圖像形式進行理解和轉換
  • 理解3:監控溫度信息發佈渠道,實時獲取並轉換溫度值

1.3.1 分析問題

  • 採用 理解1:直接將溫度值進行轉換
    • 溫度數值須要標明溫度體系,即攝氏度或華氏度
    • 轉換後也須要給出溫度體系

1.3.2 劃分邊界

  • 輸入:帶華氏或攝氏標誌的溫度值
  • 處理:根據溫度標誌選擇適當的溫度轉換算法
  • 輸出:帶攝氏或華氏標誌的溫度值

1.3.3 輸入輸出格式設計

標識放在溫度最後,F表示華氏度,C表示攝氏度設計

82F表示華氏82度,28C表示攝氏28度code

1.3.4 設計算法

根據華氏和攝氏溫度定義,利用轉換公式以下:input

\[ C = ( F – 32 ) / 1.8 \\ F = C * 1.8 + 32 \]it

其中, C表示攝氏溫度, F表示華氏溫度入門

2、"溫度轉換"實例編寫

# 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文件class

# 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、"溫度轉換"觸類旁通

3.1 Python語法元素理解

  • 溫度轉換程序共10行代碼,但包含不少語法元素
  • 清楚理解這10行代碼可以快速入門Python語言
  • 參考框架結構、逐行分析、逐詞理解

3.2 輸入輸出的改變

  • 溫度數值與溫度標識之間關係的設計能夠改變
  • 標識改變放在溫度數值以前:C82, F28
  • 標識字符改變爲多個字符:82Ce、28Fa

3.3 計算問題的擴展

  • 溫度轉換問題是各種轉換問題的表明性問題
  • 貨幣轉換、長度轉換、重量轉換、面積轉換…
  • 問題不一樣,但程序代碼類似
相關文章
相關標籤/搜索