複雑系コンサルティング
最後の3行でキーを結び付けようとしているのですがキーエラーが出ており、どこが悪いかわからず困っております
Universe.turbine_name_dict[str(k)] = Universe.turbine_name_dict[str(v)]
で、
k, v の値が port, 0 の場合、
Universe.turbine_name_dict[str(0)]
の値がないため、エラーとなっていると思います。
たびたび失礼します。 Universe.point_name_dict["port"]と入力すると、Universeでは0となるのに、map.shipで使うとKeyErrorになってしまいます。これは何が原因でしょうか
shipのagt_init()の1行目に
print("Universe.point_name_dict", Universe.point_name_dict)
と記述したところ、
Universe.point_name_dict {}
と返ってきました。
Universeのルールを見ると、initialize関数にて、Universe.point_name_dictを初期化した後に
create_agt(Universe.map.ship,num=Universe.ship_num)
と定義しているのが問題だと思います。
create_agtをinitialize関数の中ではなく、
self.file_open_input_csv() self.initilize() self.network() create_agt(Universe.map.ship,num=Universe.ship_num)
とnetwork関数の後に定義すると良いと思います。
Universe.turbine_name_dict[str(k)] = Universe.turbine_name_dict[str(v)]
で、
k, v の値が port, 0 の場合、
Universe.turbine_name_dict[str(0)]
の値がないため、エラーとなっていると思います。