私は交差点をモデル化しようとしています。以下は私が書いたコードです。交差点までの時間に基づいて、私は各車両に好みを与えました。衝突をチェックするには、交差点を占める車両間の時間差を10秒にします。このコードを実行すると、それは私に "KeyError:1"を与えます。誰かが助けてくれましたか?Pythonで辞書を操作する
number_of_vehicles = 3
preference_dict = {'Vehicle1':1, 'Vehicle2': 3, 'Vehicle3':2}
time_to_intersection = {'Vehicle1':64, 'Vehicle2':72, 'Vehicle3': 69}
preference = 1
while preference < number_of_vehicles:
for key1,key2 in preference_dict.items():
if preference_dict[key1] == preference and preference_dict[key2] == preference+1:
if time_to_intersection[key1] > time_to_intersection[key2]:
time_to_intersection[key2]+=50*preference
time_diff = time_to_intersection[key2] - time_to_intersection[key1]
print "The time diff is:",time_diff
if time_diff < 10:
time_to_intersection[key2] +=50
print time_to_intersection
preference+=1
、KEY2は1,3または2のいずれかで、あなたがキーとしてそれを使用しようとしたが、彼らは非常に奇妙な方法として私を打つpreference_dict – Whitefret
の値として存在していますこの状態をモデル化する。なぜ実際のオブジェクトにアレルギーがあるのであれば、タプルの配列(リスト)を使用するだけではありませんか?例えば。 '状態= [(1,64)、(3,72)、(2,69)]'または何か。私は "嗜好"のポイントを理解しているかどうか分からないが、私はあなたが持っていた価値を保った。 – unwind
交点に到達するのに最低限の時間が必要な車両には、最初の優先度が与えられます。 –