JavaScript Ternary для If-else для Python - PullRequest
       18

JavaScript Ternary для If-else для Python

0 голосов
/ 21 октября 2019

Привет

У меня есть этот код JavaScript, и я должен преобразовать его в python:

r > b && r > g && r > 1 ? (g /= r, b /= r, r = 1) : g > b && g > r && g > 1 ? (r /= g, b /= g, g = 1) : b > r && b > g && b > 1 && (r /= b, g /= b, b = 1), r = r <= .0031308 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055, g = g <= .0031308 ? 12.92 * g : 1.055 * Math.pow(g, 1 / 2.4) - .055, b = b <= .0031308 ? 12.92 * b : 1.055 * Math.pow(b, 1 / 2.4) - .055, r < 0 && (r = 0), g < 0 && (g = 0), b < 0 && (b = 0);

Я не понял этого, поэтому я пытаюсь преобразовать его в Если-Также с http://converter.website -dev.eu /

if (r > b && r > g && r > 1) {
    (g /= r, b /= r, r = 1)
} else {
    if (g > b && g > r && g > 1) {
        (r /= g, b /= g, g = 1)
    } else {
        if (b > r && b > g && b > 1 && (r /= b, g /= b, b = 1), r = r <= .0031308) {
            12.92 * r
        } else {
                    if (1.055 * Math.pow(r, 1 / 2.4) - .055, g = g <= .0031308) {
                12.92 * g
            } else {
                        if (1.055 * Math.pow(g, 1 / 2.4) - .055, b = b <= .0031308) {
                    12.92 * b
                } else {
                    1.055 * Math.pow(b, 1 / 2.4) - .055, r < 0 && (r = 0), g < 0 && (g = 0), b < 0 && (b = 0);
                }
            }
        }
    }
}

Я не очень хорошо понял это. Первый правильно работает, как и при запуске в браузере, а второй нет?!?!

Мой вопрос сейчас: Как правильно преобразовать троичный оператор в If-Else?

...