Предполагая, что вы хотите эквивалент
if ( not ((a >= 40 && a <= 50) || (a >= 60 && a <= 80)) )
тогда, если вы думаете об исходном выражении, оно должно быть
if (a < 40 || (a > 50 && a < 60) || a > 80)
Первое выражение позволяет a
быть числом от 40 до 50 или от 60 до 80. Отмените это на английском, и вам нужно число меньше 40 или от 50 до 60 или больше чем 80.
Законы де Моргана могут дать вам точный ответ, но я предпочитаю код, который вы можете прочитать вслух и понять.