Это связано с логикой объединения операторов в Python:
nickcolor in color == True
фактически анализируется как
(nickcolor in color) and (color == True)
color
не равно True
, поэтому все условиеis False
.
В этом случае это случайно, но эта логика обычно используется для арифметических сравнений, в которых это очень удобно:
0 < x < 10
вместо
0 < x and x < 10
Обратите внимание, что на самом деле ничего из этого здесь не нужно, поскольку nickcolor in color
уже является условием, вы можете написать свой if
следующим образом:
if nickcolor in color: