,我有以下定義的可讀性和功能:改善功能
def heat(number):
if number == "r":
h = 12
elif number == "b":
h = 24
return h
不過,我想使它看起來更好,沒有if語句來回答的。有人告訴我,我可以按以下方式做到這一點(我想這樣做,這樣一來,如果我可以在這個特殊的例子,請接受幫助):
def heat(number):
m = { "r" : 12,
"b" : 24 }
try:
return m[number]
except KeyError:
return 0.0
然而,我不明白怎麼說將返回'h'的值,這是我想要的。有人可以向我解釋這個方法嗎?此外,我感到困惑,地圖和dictionnaires等先謝謝。
UPDATE
好吧,我得到了上面的例子,但如果我有兩個函數的輸入?
例如
def heat(temp, coeff)
做我寫的回報:
return m(heat, coeff)
抑或這不是工作?
好,謝謝,我顯然必須保持在異常,我試圖避免任何if語句如果可能的話。我仍然不明白,如果沒有在函數中使用它,它將如何返回'h'的值? – user2063 2012-03-02 10:02:49
爲什麼你想避免任何if語句? (try/except機制在內部也可以看作是if語句)。恐怕我不明白你最後的評論。在你的第二個例子中,你的答案的第二部分是基於你的。 – 2012-03-02 10:06:15
這是我被賦予的一項任務。對不起,我可能聽起來有點困惑,但我已經知道我的問題是什麼..我對Python還是比較新的。感謝您的幫助=) – user2063 2012-03-02 10:11:06