现在的位置: 首页 > 综合 > 正文

解决IronPython没有三元运算符的问题

2011年12月29日 ⁄ 综合 ⁄ 共 375字 ⁄ 字号 评论关闭

 今天同事使用IronPython中的Lambda写程序(我们的程序使用IronPython的Lambda功能),发现一个问题,假设有函数:c = a / b,可是b有可能为0,如果为0,那么我们希望c=0,由于是Lambda表达式,所以必须使用一行话描述,可惜查资料发现IronPython不支持三元运算符,后来查资料,发现Snowdream兄写了解决方案: Python 学习笔记 (3)
修改后的程序是:  b!=0 and a/b or 0,注意这里使用了不等于,我们发现b=0时,不会运算a/b,也就起到我们的目的。

2011-8-15 补充

今天再次遇到此类问题,再次搜索网络,发现其实有比较平滑的写法:

Result = A / B if B <> 0 else 0

即如果B不等于0,计算表达式,否则返回0

再次补充:

我好笨啊,已经有人去年就回帖指明了此方法,我还没有注意。呜呜,打屁股。

抱歉!评论已关闭.