私は最初に位置x_min = 0
にあるオブジェクト(行の中の点)を持っています。 d_t
の各時刻に、オブジェクトはこの値のセットに従ってd_t
単位を移動します。d_t = {1, 2, 3, 4, 5, 6}
したがって、最初の後、オブジェクトは位置x1 = 0 + d_1 = 1
になります。 2回目の後、オブジェクトは位置x2 = x1 + d_2 = 3
になります。 3回目の後、オブジェクトは位置x3 = x2 + 3 = 6
になります。 4回目の後、オブジェクトは位置x4 = x3 + 4 = 10
になります。 5回目の後、オブジェクトは位置x5 = x4 + 5 = 15
になり、6回目の後にオブジェクトは位置x6 = x5 + 6 = 21
になります。Pythonで動くオブジェクトの位置の順序を見つけるには?
ただし、制限はx_max = 11
です。したがって、オブジェクトはどの位置にもありませんx > x_max
またはx < x_min
。したがって、位置x5
とx6
は修正する必要があります。
x5
に到達する前のオブジェクトは、x4 = 10
にあり、次回には5
単位を移動します。 x_max = 11
以降、オブジェクトはさらに1
単位を移動し、後方に移動する必要があります。4
単位。したがって、位置はx5 = 10 + 1 - 4 = 7 < x_max
になります。これでオブジェクトは6
単位を後方に移動します。従って、x6 = 7 - 6 = 1 > x_min
。
最後に、位置0, 1, 3, 6, 10, 7, 1
のシーケンスを取得します。
x_max
,x_min
、およびセットd_t
と与えられたこのシーケンスを見つけるためのPythonコードを書いておきたいと思います。
私はそれをやろうとしていましたが、このコードから始めましたが、続行できませんでした。
x_min = 0
x_max = 11
x = x_min
for d_t in range(1, 7):
if d_t + x <= x_max:
x = x + d_t
else:
x = 2 * x_max - x - d_t
だから、あなたの質問は正確には何ですか? –
問題点は何ですか?十分に簡単だと思われる? –
また、用語 "set"、つまり "set' d_t' "を使用しますが、' set'とはかなり異なる 'range'オブジェクトを使って作業しています。少なくとも、Pythonの文脈における 'set'という単語は、通常、' d_t = {1,2,3,4,5,6} 'によって作成される特定のデータ構造を意味しますが、これはあなたが使いたいものではありません。 –