親愛なる C プログラマーの皆さん、このような基本的な質問をして申し訳ありませんが、これに相当するものは何でしょうか。
val = dim == 0 ? 1 : S(dim) * pow(radius * 0.5, dim) / dim
パイソンで?私はいくつかの C コードをラップしており、Python の結果と比較するために、この行で何が起こっているのかを知る必要があります...
親愛なる C プログラマーの皆さん、このような基本的な質問をして申し訳ありませんが、これに相当するものは何でしょうか。
val = dim == 0 ? 1 : S(dim) * pow(radius * 0.5, dim) / dim
パイソンで?私はいくつかの C コードをラップしており、Python の結果と比較するために、この行で何が起こっているのかを知る必要があります...
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
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 コードは非常に優れています。