@PSEVDOPROGER

Почему оператор уравнения дает ошибку?

Задание: проверить число на кратность. Оно должно быть кратным 4 и 400, но при этом не должно делится на 100.
Я создал числовую переменную с возможностью пользовательского ввода, а дальше написал вот такое условие

If a // 4 or 400 % == 0 and a not / 100

Но на знаке уравнения остатка интерпретатор видит ошибку.
В чем проблема?

Заранее спасибо!
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
потому что это не sql

см. all()
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Выражения так не работают, увы. Нужно выражение разложить на составляющие.
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.... Другими словами - условие, очень похоже, никогда не выполнится.... Или само условие задачи неверное
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы