Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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,是不是有间隔错误?_Python_Binary - Fatal编程技术网

python,是不是有间隔错误?

python,是不是有间隔错误?,python,binary,Python,Binary,我甚至都不好意思问这个问题,但是python出于某种原因,keep给了我一个“l”的错误 def二进制搜索(l,targetValue): 低=0,高=len(阵列) 虽然目标值较低: 低=中-1; 否则l[mid]

我甚至都不好意思问这个问题,但是python出于某种原因,keep给了我一个“l”的错误

def二进制搜索(l,targetValue):
低=0,高=len(阵列)
虽然目标值较低:
低=中-1;
否则l[mid]
虽然您的间距不正常,但实际上这不是问题所在

问题是由于您正在将
else
与表达式一起使用。相反,您需要使用
elif

elif l[mid] < targetValue:
else
表示“对于任何其他内容,请执行此操作”。因此,它既不计算也不支持表达式。

您的最后一行“#这一行似乎是问题所在”应该是一个ELIF或一个else,后面没有任何语句。
例如,您不需要“ELSE{Condition}”。ELSE的意思是“其他一切”。

哦,不,它出现了错误。您可能在文件中混合了制表符和空格吗?现在它还说不能将其分配给literal,我认为将len(数组)分配给high是可以接受的否?@user2928929-不,您将要执行
low,high=0,len(数组)
。好的,它工作了!只是好奇,这到底有什么不同,我之前写的不是说了同样的话吗?@user2928929-实际上没有。你之前写的东西是这样计算的:
low=(0,high)=len(array)
。换句话说,
low
等于tuple
(0,high)
,它等于
len(数组)
。而且,您无法将元组(即文字)分配给值(因此出现错误)。但是,我的元组的读取方式是这样的
(低,高)=(0,len(数组))
。尽管两者看起来非常相似,但我的语法是有效的。以下是一个参考:
elif l[mid] < targetValue:
else: