[PYTHON] Über 2-variable, 4-verzweigte if-Anweisung

Wenn die Variablen min_value und max_value vorhanden sind, möchte ich die Verarbeitung entsprechend jeder Bedingung ändern

Zum Beispiel ...

min_value max_value wird bearbeitet
null null nichts tun
null not null Stellen Sie sicher, dass die Obergrenze unterschritten wird
not null null Stellen Sie sicher, dass es größer als die Untergrenze ist
not null not null Stellen Sie sicher, dass es sich in Reichweite befindet

Normalerweise so

Main.java



class Main {
    
    public static void main(String[] args) {
        
    }

    private static String hoge(int value, Integer min_value, Integer max_value) {
        if (min_value == null && max_value == null) {
            //nichts tun
            return "";
        }
        if (min_value == null) {
            //Obergrenze prüfen
            return "";
        }
        if (max_value == null) {
            //Untergrenze prüfen
            return "";
        }
        //Bereichsprüfung
        return "";
    }

}

»Auf den ersten Blick ist es schwer zu verstehen

Ich möchte das irgendwie lösen ...

main.swift


func hoge(_ value: Int, _ min_value: Int?, _ max_value: Int?) -> String {
    //Optional kommt nicht ab
    switch(min_value != nil, max_value != nil) {
        case (true,  true):
            return ""   //Bereichsprüfung
        case (true,  false):
            return ""   //Obergrenze prüfen
        case (false, true): 
            return ""   //Untergrenze prüfen
        case (false, false):
            return ""   //nichts tun
    }
}

Für Pytyon3

main.py


def hoge(value, min_value, max_value):
    command = {
        (True, True): lambda: "",    #Bereichsprüfung
        (True, False): lambda: "",   #Untergrenze prüfen
        (False, True): lambda: "",   #Obergrenze prüfen
        (False, False): lambda: "",  #nichts tun
    }
    
    return command[(min_value is not None, max_value is not None)]()

Wenn es einen besseren Weg gibt, lassen Sie es mich bitte wissen.

Recommended Posts

Über 2-variable, 4-verzweigte if-Anweisung
Über den Umfang der Variablen. .. ..
Unbekannte if-Anweisung
Über Variable von Chainer
Python grundlegende if-Anweisung
Julia Quick Note [05] if-Anweisung
Mit Python hinzufügen if-Anweisung
[Python] Richtige Verwendung der if-Anweisung
[Python] Dateivorgang mit der if-Anweisung
[Super Basic] Vergleichen Sie Python, Java und JavaScript (Variablen, if-Anweisungen, while-Anweisungen, for-Anweisungen)