亲爱的C程序员,很抱歉向你提出这样一个基本问题,但是相当于这个问题:
val = dim == 0 ? 1 : S(dim) * pow(radius * 0.5, dim) / dim
在Python中?我正在包装一些C代码,我需要知道这行中发生了什么,以便与Python结果进行比较......
答案 0 :(得分:8)
Python Conditional Expression:
从Python 2.5开始,条件表达式 - a ? b : c
可以这样写:
b if a else c
所以,你的表达式将等同于:
val = 1 if dim == 0 else S(dim) * pow(radius * 0.5, dim) / dim
答案 1 :(得分:1)
对于大多数语言,包括Python(没有大括号(?)和正确的缩进),以下C语句:
val = (dim == 0) ? 1 : S(dim) * pow(radius * 0.5, dim) / dim;
可以写成:(小的差异是语言特定的等等)
if (dim == 0)
{
val = 1;
} else {
val = S(dim) * pow(radius * 0.5, dim) / dim;
}
但是,上一个答案中给出的Python代码是非常很好!