我正在写电话簿的二叉搜索树。问题是当我试图写主代码时。我尝试使用字典数据结构,但我不知道如何将联系人姓名作为键。我想写任何名字,得到一个电话号码作为一个值。你知道吗
它给了我一个错误
Traceback (most recent call last):
File "FastSort.py", line 22, in <module>
print(binarySearch(phonebook, "John"))
File "FastSort.py", line 8, in binarySearch
if alist[midpoint] == item:
KeyError: 1
这是一个密码
def binarySearch(alist, item):
first = 0
last = len(alist)-1
found = False
while first<=last and not found:
midpoint = (first + last)//2
if alist[midpoint] == item:
found = True
else:
if item < alist[midpoint]:
last = midpoint-1
else:
first = midpoint+1
return found
phonebook = {}
phonebook["John"] = 938477566
phonebook["Jack"] = 938377264
phonebook["Jill"] = 947662781
print(binarySearch(phonebook, "John"))
print(binarySearch(phonebook, "Jack"))
您的解决方案(如果
alist
实际上是一个排序列表)非常接近,所以我想我可以帮您解决一些问题:相关问题 更多 >
编程相关推荐