繁体   English   中英

如果前一个数字与列表中的下一个数字相同,我如何签入列表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM