私は友人がPythonで論理アルゴリズムを実行するのを手伝っていましたが、まだ最善の解決策はありません。
まず第一に、私は配列のリストを持っています:
x = array[0,1,2,3,4,3,2,3,-2,-4,-7,2,2]
そして彼はxを分類して、出力が次のようになるようにしたかったのです。
array([0,1,2,3,4]) # increasing value
array([4,3,2]) #decreasing value
array([2,3]) # increasing value
array([3,-2,-4,-7]) #decreasing value
array([-7,2]) # increasing value
array([2,2]) # remain_the_same_value
ルールは単純です:
- 値が増加し続ける場合(上記の例のように:0、1、2、3、4)、1つの配列に入れます
- 値が減少し続ける場合(上記の例のように:3、-2、-4、-7)、1つの配列に入れます
- ただし、上記の例のように値のパターンが突然変化した場合:増加する値(0、1、2、3、4)から、次の値が突然減少します。新しい配列が作成され、最後に増加する値(4)が配置され、値が減少しているかどうかに関係なく、次の値が監視されます。はいの場合、それらは1つの配列に配置されます。例:array([4,3,2])
- 値が同じままの場合(上記の例のように、2から2)。それらは1つの配列に配置されます。
これは私がこれまでにやってきたことですが、それでも解決策にはほど遠いです
#categorize which types of input
if len(x) > 2 :
for i in range(len(x)) :
if (x[i+1]-x[i]) > 0 and i+i < len(x) : # for increasing x value
elif (x[i+1]-x[i]) < 0 and i+i < len(x) : # for decreasing x value
elif (x[i+1]-x[i]) == 0 and i+i < len(x) : # for foward direction of vehicle
else :
print 'ERROR : check the input coordinates once again!'
よろしくお願いします、
グレン