Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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
tkinter gui python 2.7中的二进制搜索出错_Python_Python 2.7_Tkinter_Binary Search - Fatal编程技术网

tkinter gui python 2.7中的二进制搜索出错

tkinter gui python 2.7中的二进制搜索出错,python,python-2.7,tkinter,binary-search,Python,Python 2.7,Tkinter,Binary Search,这段代码似乎给了我一个参数错误,我不知道我在这段代码中做错了什么。当尝试使用Python2.7在tkinter内部运行二进制搜索时,如果我不使用gui,只使用行代码,程序运行良好。这是我基于我的程序的代码 错误是:Tkinter回调回溯中出现异常(最近一次调用为last):调用返回self.func(*args)中第1536行的文件“C:\Python27\lib\lib tk\Tkinter.py”类型错误:binarySearch()正好接受2个参数(给定0) 从Tkinter导入* 导入

这段代码似乎给了我一个参数错误,我不知道我在这段代码中做错了什么。当尝试使用Python2.7在tkinter内部运行二进制搜索时,如果我不使用gui,只使用行代码,程序运行良好。这是我基于我的程序的代码

错误是:Tkinter回调回溯中出现异常(最近一次调用为last):调用返回self.func(*args)中第1536行的文件“C:\Python27\lib\lib tk\Tkinter.py”类型错误:binarySearch()正好接受2个参数(给定0)

从Tkinter导入*
导入csv
将open('scoresRecord.csv','rb')作为f:
读卡器=csv。读卡器(f)
您的列表=列表(读卡器)
root=Tk()
根目录。可调整大小(0,0)
根标题(“记分板”)
def二进制搜索(myitem,myList):
发现=错误
底部=0
顶部=透镜(myList)-1

而bottom首先,确保您的列表是有序的,否则结果可能是错误的

第二,这样做

Scorelist = list(map(int, Scorelist))#convert to list
isitFound = binarySearch(item,Scorelist)
尽管如此,如果您使用的是.index方法,那么您可以这样做以获得更好的性能:

try:
    index = Scorelist.index(item)
    isitFound = True
except ValueError:
    isitFound = False

它去掉了二进制搜索部分,但您一直在使用.index。所以这更好。希望它能有所帮助:)

一个好的起点是修复缩进,使其与正在运行的代码真正匹配。缩进在Python中至关重要,您发布的内容根本不会运行。
try:
    index = Scorelist.index(item)
    isitFound = True
except ValueError:
    isitFound = False