Mô hình vận chuyển: định nghĩa generator
Tốt lắm; bạn đã xác định đầu vào, đầu ra của mô hình và các quy trình mô hình được bạn đặc tả bằng các phương thức Python. Giờ là lúc ghép một generator để sắp xếp tuần tự tất cả các quy trình trong mô hình.
Bài tập này là một phần của khóa học
Mô phỏng Sự kiện Rời rạc bằng Python
Hướng dẫn bài tập
- Gọi hàm
road_travel()đã tạo trước đó, hàm này tính thời gian di chuyển trên đường, và ghi nhận thời gian cần để hoàn tất nó. - Gọi hàm
wait_traffic_light()đã tạo trước đó, hàm này tính thời gian chờ đèn giao thông, và ghi nhận thời gian cần để hoàn tất nó.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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")