私は重力シミュレーターを作成しており、各ボディに作用する合力を計算する必要があります。
これを行うには、ディクショナリ内のボディのすべてのペアを反復処理し、(id: instance of Body class)
それら 2 つのボディ間の重力を取得する必要があります。次に、すべての力を合計して合力を求めます。
しかし、Python でディクショナリ内の項目の各ペアを 1 回だけ反復処理するにはどうすればよいでしょうか? 天体がリストに保持されている場合、それは簡単です:
for i in range(len(bodies)):
for j in range(len(bodies) - i - 1):
k = j - i + 1
b1 = bodies[i]
b2 = bodies[k]