一尘不染

语法错误:以'\ x91'开头的非UTF-8代码

python

我正在尝试为一个类编写二进制搜索程序,并且我很确定自己的逻辑是正确的,但是我一直收到非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

阅读 136

收藏
2020-12-20

共1个答案

一尘不染

您的编辑器用U + 2018左单引号字符替换了'(ASCII
39),通常是您使用Word或类似的字处理器而不是纯文本编辑器的符号;文字处理器会尝试使您的文字“更漂亮”,并自动将诸如简单引号等内容替换为花哨的引号。然后,将其保存为Windows
1252代码页编码
,其中的花式引号保存为十六进制91个字符。

Python完全没有。它希望将源代码保存在UTF-8中并使用'"引号。使用记事本,或者最好使用IDLE来编辑Python代码。

您的代码中还有许多其他错误;例如,您不能在变量名中使用空格,而Python使用and,而不是&布尔AND运算符。!=是一个需要2个操作数的运算符(表示’不等于’,与相反==),则将布尔型NOT运算符称为not

2020-12-20