1

親愛なる C プログラマーの皆さん、このような基本的な質問をして申し訳ありませんが、これに相当するものは何でしょうか。

val = dim == 0 ? 1 : S(dim) * pow(radius * 0.5, dim) / dim

パイソンで?私はいくつかの C コードをラップしており、Python の結果と比較するために、この行で何が起こっているのかを知る必要があります...

4

2 に答える 2

8

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
于 2013-08-24T19:02:23.787 に答える
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 コードは非常に優れています。

于 2013-08-24T19:36:11.553 に答える