Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谁能告诉我我在哪里';我的二进制搜索代码出错了?无法向用户打印索引 def二进制搜索(列表,选择): 开始=0 end=len(列表)-1 当在print(str(selectiona))+“在索引处找到”+str(index))行中开始_Python_Algorithm_Search - Fatal编程技术网

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=
,我们将此结果存储在变量索引中,以便稍后打印。问题仍然存在。锁定你?还有问题,伙计。你被封锁了?