Python 谁能告诉我我在哪里';我的二进制搜索代码出错了?无法向用户打印索引 def二进制搜索(列表,选择): 开始=0 end=len(列表)-1 当在print(str(selectiona))+“在索引处找到”+str(index))行中开始
时,括号错误,在Python 谁能告诉我我在哪里';我的二进制搜索代码出错了?无法向用户打印索引 def二进制搜索(列表,选择): 开始=0 end=len(列表)-1 当在print(str(selectiona))+“在索引处找到”+str(index))行中开始,python,algorithm,search,Python,Algorithm,Search,时,括号错误,在selectiona后关闭的括号太多。请尝试以下方法: print(str(selectiona)+“在索引中找到”+str(索引)) 此外,二进制搜索的结果不是您正在打印的结果。你是不是想改成做index=binarySearch(lista,selectiona)?在print(str(selectiona))+“find at index”+str(index))行中,你的括号是错的,你在selectiona之后关闭了太多的括号。请尝试以下方法: print(str(sel
selectiona
后关闭的括号太多。请尝试以下方法:
print(str(selectiona)+“在索引中找到”+str(索引))
此外,二进制搜索的结果不是您正在打印的结果。你是不是想改成做index=binarySearch(lista,selectiona)
?在print(str(selectiona))+“find at index”+str(index))
行中,你的括号是错的,你在selectiona
之后关闭了太多的括号。请尝试以下方法:
print(str(selectiona)+“在索引中找到”+str(索引))
此外,二进制搜索的结果不是您正在打印的结果。您是否打算改为执行
index=binarySearch(lista,selectiona)
?您正在使用index=lista.index(selectiona)
行中的python模块获取索引
,并且您没有使用binarySearch
函数提供的输出
def binarySearch(list, selection):
start = 0
end = len(list) - 1
while start <= end:
middle = start + (end - start) // 2
middleValue = list[middle]
if middleValue == selection:
return middle
elif selection < middleValue:
end = middle - 1
else:
start = middle + 1
return None
lista = [1, 5, 7, 10, 11, 19,]
print(lista)
selectiona = int(input('Enter a number to search for: '))
index = lista.index(selectiona)
binarySearch(lista, selectiona)
print(str(selectiona)) + "found at index " + str(index))
exit = input()
def二进制搜索(列表,选择):
开始=0
end=len(列表)-1
启动时,您正在使用行index=lista.index(selectiona)
中的python模块获取索引
,并且您没有使用binarySearch
函数提供的输出
def binarySearch(list, selection):
start = 0
end = len(list) - 1
while start <= end:
middle = start + (end - start) // 2
middleValue = list[middle]
if middleValue == selection:
return middle
elif selection < middleValue:
end = middle - 1
else:
start = middle + 1
return None
lista = [1, 5, 7, 10, 11, 19,]
print(lista)
selectiona = int(input('Enter a number to search for: '))
index = lista.index(selectiona)
binarySearch(lista, selectiona)
print(str(selectiona)) + "found at index " + str(index))
exit = input()
def二进制搜索(列表,选择):
开始=0
end=len(列表)-1
开始时注意:middle=(开始+结束)//2
可以在Python中安全地完成。感谢您花时间回复。让我惊讶的是,有人能在几分钟内写出这段代码,而我却被困在上面好几个小时了!我从来没有想过,如果没有找到价值,我需要考虑。我可以问一下,为什么您需要传递带有参数的函数来查找索引,而不仅仅是列表?如果您只是将列表作为参数传递,那么函数不知道要在该列表中搜索哪个数字,因此它需要需要搜索的数字。旁注:middle=(开始+结束)//2
可以用Python安全地完成。感谢您花时间回复。让我惊讶的是,有人能在几分钟内写出这段代码,而我却被困在上面好几个小时了!我从来没有想过,如果没有找到价值,我需要考虑。我可以问一下,为什么您需要传递带参数的函数来查找索引,而不仅仅是列表?如果您只是将列表作为参数传递,函数不知道要在该列表中搜索哪个数字,因此它需要它需要搜索的数字。感谢您的回复!我还是个业余爱好者,所以我不能完全理解为什么存储索引需要传递带参数的函数,而不仅仅是列表,这在程序中不会改变。@scopuli1我不确定我是否正确理解了你的后续问题。编写def binarySearch(list,selection):
将binarySearch
定义为一个需要两个参数(list和selection)的函数。当您使用binarySearch(lista,selectiona)
调用此函数时,您提供了lista和selectiona作为运行此函数的具体参数。此函数返回找到的位置,通过使用index=
在调用前加上前缀,我们将此结果存储在变量索引中,以便稍后打印。感谢您的回复!我还是个业余爱好者,所以我不能完全理解为什么存储索引需要传递带参数的函数,而不仅仅是列表,这在程序中不会改变。@scopuli1我不确定我是否正确理解了你的后续问题。编写def binarySearch(list,selection):
将binarySearch
定义为一个需要两个参数(list和selection)的函数。当您使用binarySearch(lista,selectiona)
调用此函数时,您提供了lista和selectiona作为运行此函数的具体参数。此函数返回找到的位置,通过在调用前加上index=
,我们将此结果存储在变量索引中,以便稍后打印。问题仍然存在。锁定你?还有问题,伙计。你被封锁了?