Python 为类digicode系统实现队列
我有一个带有Python 为类digicode系统实现队列,python,python-2.7,queue,pyside,Python,Python 2.7,Queue,Pyside,我有一个带有QPushButtons的系统,它的工作方式就像一个数码门。每个按钮都有一个ID(整数)。当您按下的最后一个按钮对应于给定的密码时,事情就会发生(比如门被打开) 我正在考虑使用一个队列来实现这一点,并使用指向最后添加值的指针。但是如何测试密码是否正确 以下是我所掌握的代码: class MyQueue(): def __init__(self, size, defaultValue=None): self.size = size self.co
QPushButtons
的系统,它的工作方式就像一个数码门。每个按钮都有一个ID(整数)。当您按下的最后一个按钮对应于给定的密码时,事情就会发生(比如门被打开)
我正在考虑使用一个队列来实现这一点,并使用指向最后添加值的指针。但是如何测试密码是否正确
以下是我所掌握的代码:
class MyQueue():
def __init__(self, size, defaultValue=None):
self.size = size
self.content = [defaultValue]*size
self.end = self.size-1
def addItem(self, value):
self.end = (self.end+1)%self.size
self.content[self.end] = value
def checkCorrect(self, password):
pass #???
我可以填充队列,
size
是保存的项目数。但是我不知道如何检查密码是否正确。关键是从最后添加的值开始,向后读取密码。检查密码中的每个字符/数字是否正确。如果你能把密码读到最后,你就很好了。以下是我的建议:
def checkCorrect(self, password):
pw = list(reversed(password))
i = 0
j = self.end
if len(pw) > self.size:
return False
while True:
if pw[i] <> self.content[j]:
return False
else:
i += 1
j = (j-1)%self.size
if i == len(pw):
return True
def checkCorrect(self,password):
pw=列表(反向(密码))
i=0
j=自我结束
如果len(pw)>自身尺寸:
返回错误
尽管如此:
如果pw[i]自身内容[j]:
返回错误
其他:
i+=1
j=(j-1)%self.size
如果i==len(pw):
返回真值