Python 攝氏 華氏 溫度轉換(函數)

攝氏 °C (Celsius) 目前大多數的國家都使用的溫度單位。
華氏 °F (Fahrenheit),僅剩美國在使用。
華氏與攝氏溫度的關係是:
F = C * 9 / 5 +32  或  F= C * 1.8 +32
C= (F – 32) * 5 / 9
我們可以寫出兩個程式來

# 攝氏轉華氏 c2f.py
degree_c = int(input("請輸入攝氏溫度:"))
degree_f = degree_c * 1.8 +32 
print ("攝氏 %d 度等於華氏 %d 度" % (degree_c,degree_f))

# 華氏轉攝氏 f2c.py
degree_f = int(input("請輸入攝氏溫度:"))
degree_c = (degree_f - 32) *5 / 9 
print ("華氏 %d 度等於攝氏 %d 度" % (degree_f,degree_c))

利用 function 改良一下程式,讓它在輸入時可以讓我們選擇『華氏轉攝氏』還是攝式轉華氏

def F2C(F):
    C=(F-32) * 5 /9
    return C

def C2F(C):
    F= C * (9/5) + 32
    return F

degree = int(input("Please input degree:"))
conversion=int(input("1.Celsius-> Fahrenheit. 2.Fahrenheit->Celsius."))
if conversion == 1:
    F=C2F(degree)
    print ("%d Celsius = %d Fahrenheit" % (degree,F))
elif conversion == 2:
    C=F2C(degree)
    print ("%d Fahrenheit = %d Celsius" % (degree,C)) 

透過 if 判斷 conversion 變數,再呼叫適當的 function 來達到轉換的目的。當然也可以直接把兩個 function 放在 if 的區塊中運算

函數的註解
Python 的函數中可以定義註解,此註解會在 help 中出現:

def F2C(F):
   '''
     F -> Fahrenheit
   '''
    C=(F-32) * 5 /9
    return C

def C2F(C):
    F= C * (9/5) + 32
    return F

...

日後只要執行 help(函數名),就會出現剛剛打的註解文字

help(F2C)
Help on function F2C in module __main__:

F2C(F)
     F -> Fahrenheit