Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Почему код работает не как задумано ?

i = 1
n = 3
while i % n != i % n-1 != i % n-2 != 0:
if i % n == i % n-1 == i % n-2 == 0:
print(i)
else:
i += 1
В чём тут ошибка ? В синтаксисе ? Я новичок в Python, подскажите, пожалуйста.
Я рассуждал так: цикл будет выполняться пока i не будет делиться без остатка на 3, 2 и 1. Начинаем с i = 1 и каждый круг увеличиваем значение на единицу.
Когда i будет равен 6, то цикл закончится и будет напечатан i. Однако в результате при выполнении кода получаю 2.
Пробовал ещё такую запись:
i = 1
n = 3
while i % n != 0 and i % n-1 != 0 and i % n-2 != 0:
if i % n == i % n-1 == i % n-2 == 0:
print(i)
else:
i += 1
Получил результат 1.
Я пока что вообще не понимаю разницы в записи между первым и вторым вариантом (( И не понимаю, почему ни один не работает как я задумал. В чём моя ошибка ?

ПрограммированиеPython 3+1
Александр
  ·   ·
Лучший
Программирование, Python, математика. Выпускник Ян...  · 1 сент 2020  · cdarr.ru

Во-первых, вы не совсем понимаете логику оператора !=.

Конструкция, например, 0 != 1 != 0 != 0 будет работать не так, как вы думаете, и она будет возвращать False, хотя по вашей логике — True.

Во-вторых, вы забываете про скобки. Выражение

i % n != i % n - 1

к примеру, интерпретируется как

((i % n) != (i % n)) - 1

а чтобы сделать так, как нужно, надо поставить скобки:

i % n != i % (n - 1)

Спасибо ! Кажется, понял про оператор !=. Ну а про скобки тем более )