【发布时间】:2014-05-30 07:21:45
【问题描述】:
我正在尝试为一个类编写一个二进制搜索程序,我很确定我的逻辑是正确的,但我不断收到非 UTF-8 错误。我从未见过这个错误,任何帮助/澄清都会很棒!非常感谢。
这是代码。
def main():
str names = [‘Ava Fischer’, ‘Bob White’, ‘Chris Rich’, ‘Danielle Porter’, ‘Gordon Pike’, ‘Hannah Beauregard’, ‘Matt Hoyle’, ‘Ross Harrison’, ‘Sasha Ricci’, ‘Xavier Adams’]
binarySearch(names, input(str("Please Enter a Name.")))
print("That name is at position "+position)
def binarySearch(array, searchedValue):
begin = 0
end = len(array) - 1
position = -1
found = False
while !=found & begin<=end:
middle=(begin+end)/2
if array[middle]== searchedValue:
found=True
position = middle
elif array[middle] >value:
end=middle-1
else:
first =middle+1
return position
【问题讨论】:
-
发布的代码中有很多个语法错误。带空格的
str names是无效的Python,单引号是无效的ASCII 单引号,Python 使用and,而不是&用于布尔逻辑等 -
你用什么编辑器来写你的代码?
-
这是您的实际代码,还是您尝试重写伪代码来描述问题?
-
@g.d.d.c:好吧,看到我可以通过将 OP 样本编码为 CP1252 然后使用 Python 3 运行它来重现错误,我们可以假设这是实际代码。