始める無料で始める

輸送モデル:ジェネレーターの定義

よくできました。モデルの入出力と、Python のメソッドで定義したモデル内のプロセスを作成できました。次は、すべてのモデルプロセスを順番に実行するジェネレーターを組み立てましょう。

この演習はコースの一部です

Pythonで学ぶ離散事象シミュレーション

コースを見る

演習の手順

  • これまでに作成した関数 road_travel()(道路移動時間を計算)を呼び出し、完了までの時間を計上してください。
  • これまでに作成した関数 wait_traffic_light()(信号待ち時間を計算)を呼び出し、完了までの時間を計上してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

def all_processes(env, inputs):
    road_stretch, distance_total, traffic_light = 0, 0, 0
    while True:

        road_stretch += 1
        
        # Call function calculates road travel time
        distance, distance_total = ____(inputs, distance_total)
        yield env.____(distance/inputs['Speed_limit_ms'])
        print(f"> Road Stretch #{road_stretch} \nLength = {distance} m , Cumulative distance travelled = {distance_total} m , Total time elapsed = {env.now} sec")

        traffic_light += 1
        
        # Call function that calculates waiting time at a traffic light
        waitTime_traffic_light_sec = ____(inputs, distance_total)
        yield env.____(waitTime_traffic_light_sec)
        print(f"> Traffic Light #{traffic_light} \nWait time = {waitTime_traffic_light_sec} sec, Time lapsed = {env.now} sec")
コードを編集して実行