python电梯题_Python模拟简单电梯调度算法示例

本文通过Python实现了一个简单的电梯调度算法,模拟了电梯在楼层间的服务过程。用户输入目标楼层,电梯根据策略决定上行或下行服务请求,同时考虑了多线程处理。文章末尾提到可以进一步扩展为多联装电梯并优化调度算法。
摘要由CSDN通过智能技术生成

本文实例讲述了python模拟简单电梯调度算法。分享给大家供大家参考,具体如下:

经常在公司坐电梯,由于楼层较高,是双联装的电梯,但是经常等电梯很久,经常有人骂写电梯调度算法的。回来闲来无事,自己尝试写了一个简单的。

场景很简单,每一层电梯口只有一个按钮,不区分上下,当有人按下这个键后,电梯会过来停在此层,这个人可以进去,并选择自己想去的层。电梯的调度策略也很简单,在一次向上的过程中,如果有人在下面按了键,电梯并不直接向下,而是运行到此次向上的最顶层,然后再下次向下运行的过程中去服务这个请求。

elevator.py

import time

from myque import myque

class elevator:

def __init__(self,layers):

self.building_layers = layers

self.direction = 'up'

self.cur_layer = 1

self.up_queue = myque()

self.down_queue = myque(true)

self.switcher = 'open'

def stop(self):

self.switcher='stop'

def push_button(self,layer,direction=none):

if self.cur_layer>layer:

self.down_queue.insert(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值