Kom igångKom igång gratis

Transportmodell: definiera generatorn

Bra jobbat – du har definierat modellens indata och utdata samt de processer du karakteriserade med hjälp av Python-metoder. Nu är det dags att sätta ihop en generator som sekvenserar alla modellprocesser.

Den här övningen är en del av kursen

Diskret händelsesimulering i Python

Visa kurs

Övningsinstruktioner

  • Anropa funktionen road_travel() som skapades tidigare och som beräknar restiden på väg, och registrera hur lång tid det tar att slutföra den.
  • Anropa funktionen wait_traffic_light() som skapades tidigare och som beräknar väntetiden vid trafikljus, och registrera hur lång tid det tar att slutföra den.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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")
Redigera och kör kod