2012年12月24日 星期一

[ Python 文章收集 ] 解決IronPython沒有三元運算符的問題

來源自 這裡 
Preface: 
今天同事使用 IronPython 中的 Lambda 寫程序(我們的程序使用IronPython的Lambda功能),發現一個問題,假設有函數: c = a / b,可是 b 有可能為 0,如果為 0,那麼我們希望 c= 0,由於是 Lambda 表達式,所以必須使用一行話描述,可惜查資料發現 IronPython 不支持三元運算符,後來查資料,發現 Snowdream 兄寫了解決方案: Python學習筆記(3) 

Solution: 
修改後的程序是: b!=0 and a/b or 0,注意這裡使用了不等於,我們發現 b=0 時,不會運算 a/b,也就起到我們的目的. 

再次搜索網絡,發現其實有比較平滑的寫法: 
  1. Result = A / B if B <> 0 else 0  
即如果B不等於0,計算表達式,否則返回0.

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...