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
Ö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")