SyntaxError: Non-UTF-8 code commençant par '\x91'
Je suis en train d'écrire un fichier binaire de recherche pour le programme de la classe, et je suis assez sûr que ma logique est bonne, mais je reçois un non-UTF-8 erreur. Je n'ai jamais vu cette erreur et de toute aide/clarification serait génial! Merci un tas.
Voici le code.
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
- Il y a beaucoup erreur de syntaxe dans la posté code.
str names
avec un espace n'est pas valide Python, les apostrophes ne sont pas valides ASCII guillemets simples, Python utiliseand
, pas&
de la logique booléenne, etc. - Ce que l'éditeur n'a utiliser pour écrire votre code?
- Est-ce votre code, ou avez-vous tenter de ré-écrire le pseudo-code pour décrire le problème?
- eh bien, vu que je peux reproduire l'erreur par codage de l'OP de l'échantillon à CP1252 puis en l'exécutant avec Python 3, nous pouvons supposer que c'est le code.
Vous devez vous connecter pour publier un commentaire.
Votre éditeur remplacé
'
ASCII (39) avec U+2018 LA GAUCHE GUILLEMET SIMPLE personnages, habituellement un signe que vous avez utilisé Word ou similaire traitement de texte au lieu d'un simple éditeur de texte; un traitement de texte tente de rendre votre texte "plus joli" et auto-remplace des choses comme de simples citations avec fantaisie. Ce fut ensuite enregistrés dans le Windows page de codes 1252 encodage, où la fantaisie des devis ont été enregistrés comme hex 91 caractères.Python est d'avoir rien de tout cela. Il veut le code source enregistré en UTF-8 et à l'aide de
'
ou"
pour les guillemets. Utilisez le bloc-notes, ou mieux encore, la veille pour modifier votre code Python à la place.Vous avez de nombreuses autres erreurs dans votre code, vous ne pouvez pas utiliser des espaces dans les noms de variables, par exemple, et Python utilise
and
, pas&
comme l'opérateur booléen ET l'opérateur.!=
est un opérateur nécessitant des 2 opérandes (il signifie "différent", à l'opposé de==
), l'opérateur booléen not est appelénot
.//
au lieu de/
pour obtenir entier (étage) de la division de la place.Ajouter cette ligne en haut de votre code. Il peut fonctionner.
Le caractère que vous êtes au début de votre constante des chaînes de caractères avec n'est pas le droit délimiteur de chaîne. Vous utilisez
quand il doit y avoir soit
ou peut-être
Si vous utilisez Notepad++, cliquez sur
Encoding
en haut et choisissezEncode in UTF-8
.