ÎncepețiÎncepe gratuit

Model de transport: definirea generatorului

Felicitări! Ai definit intrările și ieșirile modelului, precum și procesele caracterizate prin metode Python. Acum este momentul să construiești un generator care să ordoneze toate procesele din model.

Acest exercițiu face parte din cursul

Simulare de evenimente discrete în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Apelează funcția road_travel() creată anterior, care calculează timpul de deplasare pe șosea, și înregistrează durata necesară pentru finalizarea ei.
  • Apelează funcția wait_traffic_light() creată anterior, care calculează timpul de așteptare la semafoare, și înregistrează durata necesară pentru finalizarea ei.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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")
Editează și rulează codul