dimanche 20 octobre 2019

JavaScript Ternary to If-else to Python

Hello

I have this JavaScript code and have to convert it to 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);

I didnt understand that so i try to convert it to If-else with 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);
                }
            }
        }
    }
}

I didnt understand that at well. The first one does the right thing as is was running it in the browser but the second one does not?!?!

My Question is now: How convert the Ternary Operator to If-Else in the right way?

Aucun commentaire:

Enregistrer un commentaire