我寫此代碼爲簡單的線性搜索:線性搜索的列表?
def floor(array, target):
i = 0
while i < len(array):
if array[i] == target:
print("The target value can be found at index: " + str(array[i]))
break
else:
i = i + 1
floor([1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14], 5)
我遇到的問題是,它不返回我想要的值。由於某些原因,它不會從0開始計數,所以當我製作目標1時,它會告訴我索引是1.同樣,如果我製作目標4,它會在索引4處給我第二個值4,而不是一個在索引3處。即使目標是更高的數字,它似乎也只計算一次4的值。我不知道我做錯了什麼,任何人都可以提供一些建議?
以供將來參考,對於列出了內置的「指數」的方法可以爲你做到這一點。例如,[4,8,15,16,23,42] .index(15)return 2. –