Suite

Échec de l'écriture d'instructions conditionnelles (si/alors) dans le calculateur de champs d'ArcGIS for Desktop à l'aide de l'analyseur Python ?


J'ai écrit ceci en suivant plusieurs exemples mais c'est toujours faux. J'ai besoin de remplir un nouveau champ basé sur 5 plages de valeurs.

def marks(Wards for try.JHRatio ): if (Wards for try.JHRatio <= 50): return 0 elif Wards for try.JHRatio >50 and Wards for try.JHRatio <= 90): return 1 elif (Wards for try .JHRatio >90 et Wards pour try.JHRatio <= 110) : renvoie 2 elif (Wards pour try.JHRatio >= 110 et Wards pour try.JHRatio <= 500) : renvoie 1 elif (Wards pour try.JHRatio > 500) : renvoie 0 points(!Wards for Try.JHRatio!)

vous devez utiliser un nom de variable simple dans votre fonction : les espaces provoqueront des erreurs de syntaxe (d'ailleurs, je recommande d'éviter les espaces dans les noms de fichiers). cela rend également votre code plus lisible. Notez que vous n'avez pas besoin de faire les tests ">" dans votre cas, car l'instruction if le gère déjà.

def marks(myfield) : if myfield <= 50 : return 0 elif myfield <= 90 : return 1 elif myfield <= 110 : return 2 elif myfield <= 500 : return 1 else : return 0 marks(!Wards for Try.JHRatio !)


Voir la vidéo: восстановление аккумулятора ноутбука, почему этого делать не стоит (Octobre 2021).