Daha çox

Arggisdə If / else ifadəsi


Alanları şərtlə doldurmağa çalışıram, / yoxsa işə yaramır. Koddakı səhvimin harada olduğunu bilmirəm.

def TextValue (! Classe!): əgər! Classe! == "Çöl arbustivi" və ya! Diqqət! == "Steppe arbustive à arborée" və ya! Diqqət! == "Çöl çardağı" və ya! Diqqət! == "Savane arbustive" və ya! Classe! == "Savane arbustive à arborée" və ya! Diqqət! == "Savane arborée à boisée" və ya! Diqqət! == "Savane boisée" və ya! Classe! == "foret galerie relictuelle": "Végétation naturelle" elif qaytarın! Classe! == "Culture pluviale / jachère" və ya! Classe! == "Culture maraichère": return "Zone de culture" elif! Classe! == "Cours d'eau" və ya! Classe! == "Mare": qayıt "Səth hidriki" Codeblock TextValue (! Classe!)

Birinci sətirdə sahə çağırışı olmamalıdır (! Classe!). Kodunuz belə olmalıdır ...

def TextValue (classe): əgər ((classe == "Steppe arbustive") or (classe == "Steppe arbustive à arborée") or (classe == "Steppe arborée") or (classe == "Savane arbustive") or (classe == "Savane arbustive à arborée") və ya (classe == "Savane arborée à boisée") və ya (classe == "Savane boisée") və ya (classe == "foret galerie relictuelle")): return "Végétation naturelle" "elif ((classe ==" Culture pluviale / jachère ") or (classe ==" Culture maraichère ")): return" Zone de culture "elif ((classe ==" Cours d'eau ") or (classe ==) "Mare")): "Surface hydrique" qayıt

Sahə çağrısını kod blokuna göndərdiyiniz zaman əvvəlcədən məntiqdəki yeni bir dəyişənə dəyər təyin etməlisiniz. Bundan əlavə, ilk "əgər" girinti etməlisiniz. Üstəlik, mötərizələri də bəyəndiyim üçün əlavə etdim :)


Kodunuz düzgün biçimləndirilməyib və parametrlər üçün səhv şeylərdən istifadə edirsiniz.

def TextValue (input): # giriş == "Steppe arbustive" və ya input == "Steppe arbustive à arborée" və ya input == "Steppe arborée" və ya input == "Savane arbustive" olduqda sizin sahəniz deyil, dəyişən olmalıdır və ya giriş == "Savane arbustive à arborée" və ya giriş == "Savane arborée à boisée" və ya giriş == "Savane boisée" və ya giriş == "foret galerie relictuelle": return "Végétation naturelle" elif input == "Culture pluviale / jachère "or input ==" Culture maraichère ": return" Zone de culture "elif input ==" Cours d'eau "or input ==" Mare ": return" Surface hydrique "Codeblock TextValue (! Classe!)

Sahə dəyəriniz faktiki funksiya tərifinə deyil, kod blokuna keçir. Ayrıca, yalnız bir siyahıdan istifadə etmək daha asan ola bilərinəvəzinə yoxlayın.

Məsələn, siyahınızı elan edin:

myList = ["Steppe abrustive", "Steppe arbustrive à arborée"] #etc və s.

Sonra kütlə əvəzinə çekinizdəvə yacombos, yalnız bir istifadə edinin:

myList daxil edilsə: # bir şey et

Ayrıca, edə biləcəyiniz başqa bir şeyinyalnız sahənizdə ümumi bir şey varsa, fərdi simli yoxlamaq üçün. Theinoperator bir sətrin başqa bir sətirdə olub olmadığını yoxlamağa imkan verir.