운송 모델: 제너레이터 정의하기
잘하셨어요. 이미 모델의 입력과 출력, 그리고 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")