-4
對於密碼創建程序,我需要能夠檢查列表中的任何兩個連續數字是否相同。我希望它能夠以這樣的方式工作,即當您輸入一個數字並將其附加到列表中時,它會檢查之前附加的數字以查看它們是否相同。如果以前的號碼與列表中的下一個號碼相同,我該如何檢查列表?
例如,我將第6個數字輸入到列表中,並檢查它是否與第5個數字相同。
對於密碼創建程序,我需要能夠檢查列表中的任何兩個連續數字是否相同。我希望它能夠以這樣的方式工作,即當您輸入一個數字並將其附加到列表中時,它會檢查之前附加的數字以查看它們是否相同。如果以前的號碼與列表中的下一個號碼相同,我該如何檢查列表?
例如,我將第6個數字輸入到列表中,並檢查它是否與第5個數字相同。
在例3.7從這個鏈接(dive into 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)
你到目前爲止嘗試過什麼嗎?有什麼結果? – jonrsharpe
你讀過關於'list'訪問(特別是負指數)的任何文檔嗎? – TigerhawkT3
問題是我沒有嘗試過任何事情,因爲我相當卡住,我也試着用Google搜索/查找如何做到這一點,但只找到方法找到列表中的數字,而不是比較兩個連續的數字。 –