Выражения так не работают, увы. Нужно выражение разложить на составляющие.
1) если остаток от деления
a
на 4 равен 0
a%4 == 0
2) и остаток от деления
a
на 400 равен 0
a%400 == 0
3) и остаток от деления
a
на 100 не равен 0
a%100 != 0
Само условие можно записать так, используя скобки.
if ( a%4 == 0 ) and ( a%400 == 0 ) and ( a%100 != 0 ):
pass
Но что-то мне подсказывает, что если число кратно 400, то оно всегда будет кратно и 100.... Другими словами - условие, очень похоже, никогда не выполнится.... Или само условие задачи неверное