Mehr

Grundlegende Python-Reclass-Frage im Feldrechner


Ich versuche, Werte im Feldrechner mit Python neu zu klassifizieren.

Ich möchte, dass jeder Wert >= '5' gleich bleibt (den gleichen Wert zurückgeben). Alles andere ist = '0'.

Ja, DIST_EDGE sind Zahlen.

Ich erhalte in Zeile 1 einen ungültigen Syntaxfehler (siehe unten)

Hier ist, was ich mir ausgedacht habe (neues Skript nach Kommentaren):

Fehlermeldung:


Angenommen, der Datentyp für DIST_EDGE ist numerisch, sollte die Funktion lauten (Hinweis, keine Anführungszeichen):

def Reclass(dist): if dist >= 5: Rückgabe von dist sonst: Rückgabe von 0

Wenn DIST_EDGE jedoch ein String-Datentyp ist, müssen Sie ihn vor dem Vergleich in eine Zahl umwandeln:

def Reclass(dist): if int(dist) >= 5: Rückgabe von dist else: Rückgabe von '0'


Schau das Video: Собеседование QA. Решаем алгоритмические задачи на собеседовании. QAGuild #55 (Oktober 2021).