[英]How do I check in a list if the previous number is the same as the next number in the list?
对于密码创建程序,我需要能够检查列表中的任意两个连续数字是否相同。 我希望它以这样一种方式工作:当您输入一个数字并将其附加到列表中时,它会检查先前附加的数字以查看它们是否相同。
例如,我将第 6 个数字输入到列表中,它会检查它是否与第 5 个数字相同。
在此链接的示例 3.7 中(深入 python ),您可以发现您应该从列表中调用 -1 元素以获取最后一个元素:
l = [0, 1, 2]
print l[-1]
为了解决您的问题,您可以尝试以下操作:
class PasswordChecker:
def __init__(self):
self.passwd = list()
def appendNumber(self,numberToAppend):
if(len(self.passwd)>0):
if(self.passwd[-1] + 1 == numberToAppend):
# here i'm raising an exception
# but You can apply any other logic You want
raise Exception("Cannot use two consecutive numbers!!!")
self.passwd.append(numberToAppend)
def getPassword(self):
return self.passwd
pc = PasswordChecker()
# read (keyboard/file) first number
r = 0
pc.appendNumber(r)
# read next number
r = 3
pc.appendNumber(r)
# read next number
r = 4
pc.appendNumber(r)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.